14320 Commits

Author SHA1 Message Date
brandtr
a2ece731bf Reorder member functions in FecReceiver unit test file.
- Place all member function definitions between test fixture
  declaration and unit tests.
- Rename GenerateFrame -> PacketizeFrame.

No functional changes are intended by this CL.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2275303003
Cr-Commit-Position: refs/heads/master@{#14488}
2016-10-04 07:00:12 +00:00
brandtr
8d02ea73c0 Add FlexfecPacketGenerator.
Helper class for FlexFEC unit tests to come.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2282473002
Cr-Commit-Position: refs/heads/master@{#14487}
2016-10-04 06:47:11 +00:00
peah
6d3a1f922d Removed unused state variable in the AEC
BUG=webrtc:5298

Review-Url: https://codereview.webrtc.org/2364773003
Cr-Commit-Position: refs/heads/master@{#14486}
2016-10-04 06:25:26 +00:00
skvlad
cc91d284e4 Moved RtcEventLog files from call/ to logging/
The RtcEventLog headers need to be accessible from any place which needs
logging, and the implementation needs access to data structures that are
logged.

After a discussion in the code review, we all agreed to move the RtcEventLog implementation into its own top level directory - which I called "logging/" in expectation that other types of logging may have similar requirements. The directory contains two main build targets - "rtc_event_log_api", which is just rtc_event_log.h, that has no external dependencies and can be used from anywhere, and "rtc_event_log_impl" which contains the rest of the implementation and has many dependencies (more in the future).

The "api" target can be referenced from anywhere, while the "impl" target is only needed at the place of instantiation (currently Call, soon to be moved to PeerConnection by https://codereview.webrtc.org/2353033005/).

This change allows using RtcEventLog in the p2p/ directory, so that we
can log STUN pings and ICE state transitions.

BUG=webrtc:6393
R=kjellander@webrtc.org, kwiberg@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, terelius@webrtc.org

Review URL: https://codereview.webrtc.org/2380683005 .

Cr-Commit-Position: refs/heads/master@{#14485}
2016-10-04 01:31:32 +00:00
hbos
6ab97ce0b9 RTCCertificateStats[1] added.
[1] https://w3c.github.io/webrtc-stats/#certificatestats-dict*

BUG=chromium:627816, chromium:629436
NOTRY=True

Review-Url: https://codereview.webrtc.org/2243123002
Cr-Commit-Position: refs/heads/master@{#14484}
2016-10-03 21:17:03 +00:00
kwiberg
607d9d7f60 rtc::FunctionView improvements: accept function pointers and nullptr
BUG=webrtc:5801

Review-Url: https://codereview.webrtc.org/2375023004
Cr-Commit-Position: refs/heads/master@{#14483}
2016-10-03 19:40:41 +00:00
hbos
07a224b2fa webrtc/api/stats/OWNERS file added.
hbos and hta are already OWNERS of webrtc/stats/ and of rtcstats* files
(per-file rtcstats*=) in webrtc/api/. When the webrtc/api/stats/ folder
was created we forgot to add this OWNERS file (per-file OWNERS does not
apply to subfolders apparently).

BUG=chromium:627816
NOTRY=True

Review-Url: https://codereview.webrtc.org/2392633002
Cr-Commit-Position: refs/heads/master@{#14482}
2016-10-03 19:26:20 +00:00
sakal
d227522f57 Change DCHECK in VCMDecodedFrameCallback back to just logging.
This DCHECK is triggered by org.webrtc.PeerConnectionTest#testTrackRemoval.

BUG=webrtc:6465

Review-Url: https://codereview.webrtc.org/2389703002
Cr-Commit-Position: refs/heads/master@{#14481}
2016-10-03 15:54:44 +00:00
guidou
8f9010631c Revert of Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere (patchset #2 id:20001 of https://codereview.webrtc.org/2384693002/ )
Reason for revert:
This CL breaks FYI bots with a compile error.

Sample error:
jingle/glue/thread_wrapper.cc -o obj/jingle/jingle_glue/thread_wrapper.o
In file included from ../../jingle/glue/thread_wrapper.cc:5:
In file included from ../../jingle/glue/thread_wrapper.h:16:
In file included from ../../base/message_loop/message_loop.h:17:
In file included from ../../base/memory/ref_counted.h:19:
../../base/logging.h:598:1: error: call to 'MakeCheckOpString' is ambiguous
DEFINE_CHECK_OP_IMPL(EQ, ==)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/logging.h:592:17: note: expanded from macro 'DEFINE_CHECK_OP_IMPL'
    else return MakeCheckOpString(v1, v2, names); \
                ^~~~~~~~~~~~~~~~~
../../jingle/glue/thread_wrapper.cc:46:3: note: in instantiation of function template specialization 'logging::CheckEQImpl<rtc::Thread *, jingle_glue::JingleThreadWrapper *>' requested here
  DCHECK_EQ(rtc::Thread::Current(), current());
  ^
../../base/logging.h:748:31: note: expanded from macro 'DCHECK_EQ'
#define DCHECK_EQ(val1, val2) DCHECK_OP(EQ, ==, val1, val2)
                              ^
../../base/logging.h:721:18: note: expanded from macro 'DCHECK_OP'
      ::logging::Check##name##Impl((val1), (val2),                     \
                 ^
<scratch space>:102:1: note: expanded from here
CheckEQImpl
^
../../base/logging.h:555:14: note: candidate function [with t1 = rtc::Thread *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
../../third_party/webrtc/base/checks.h:122:14: note: candidate function [with t1 = rtc::Thread *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
In file included from ../../jingle/glue/thread_wrapper.cc:5:
In file included from ../../jingle/glue/thread_wrapper.h:16:
In file included from ../../base/message_loop/message_loop.h:17:
In file included from ../../base/memory/ref_counted.h:19:
../../base/logging.h:598:1: error: call to 'MakeCheckOpString' is ambiguous
DEFINE_CHECK_OP_IMPL(EQ, ==)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/logging.h:592:17: note: expanded from macro 'DEFINE_CHECK_OP_IMPL'
    else return MakeCheckOpString(v1, v2, names); \
                ^~~~~~~~~~~~~~~~~
../../jingle/glue/thread_wrapper.cc:81:3: note: in instantiation of function template specialization 'logging::CheckEQImpl<jingle_glue::JingleThreadWrapper *, jingle_glue::JingleThreadWrapper *>' requested here
  DCHECK_EQ(this, JingleThreadWrapper::current());
  ^
../../base/logging.h:748:31: note: expanded from macro 'DCHECK_EQ'
#define DCHECK_EQ(val1, val2) DCHECK_OP(EQ, ==, val1, val2)
                              ^
../../base/logging.h:721:18: note: expanded from macro 'DCHECK_OP'
      ::logging::Check##name##Impl((val1), (val2),                     \
                 ^
<scratch space>:5:1: note: expanded from here
CheckEQImpl
^
../../base/logging.h:555:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
../../third_party/webrtc/base/checks.h:122:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = jingle_glue::JingleThreadWrapper *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
In file included from ../../jingle/glue/thread_wrapper.cc:5:
In file included from ../../jingle/glue/thread_wrapper.h:16:
In file included from ../../base/message_loop/message_loop.h:17:
In file included from ../../base/memory/ref_counted.h:19:
../../base/logging.h:598:1: error: call to 'MakeCheckOpString' is ambiguous
DEFINE_CHECK_OP_IMPL(EQ, ==)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/logging.h:592:17: note: expanded from macro 'DEFINE_CHECK_OP_IMPL'
    else return MakeCheckOpString(v1, v2, names); \
                ^~~~~~~~~~~~~~~~~
../../jingle/glue/thread_wrapper.cc:82:3: note: in instantiation of function template specialization 'logging::CheckEQImpl<jingle_glue::JingleThreadWrapper *, rtc::Thread *>' requested here
  DCHECK_EQ(this, rtc::Thread::Current());
  ^
../../base/logging.h:748:31: note: expanded from macro 'DCHECK_EQ'
#define DCHECK_EQ(val1, val2) DCHECK_OP(EQ, ==, val1, val2)
                              ^
../../base/logging.h:721:18: note: expanded from macro 'DCHECK_OP'
      ::logging::Check##name##Impl((val1), (val2),                     \
                 ^
<scratch space>:12:1: note: expanded from here
CheckEQImpl
^
../../base/logging.h:555:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = rtc::Thread *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
../../third_party/webrtc/base/checks.h:122:14: note: candidate function [with t1 = jingle_glue::JingleThreadWrapper *, t2 = rtc::Thread *]
std::string* MakeCheckOpString(const t1& v1, const t2& v2, const char* names) {
             ^
3 errors generated.

Original issue's description:
> Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere
>
> The former is always defined (by webrtc/base/checks.h) to either 0 or
> 1, whereas the latter isn't necessarily defined.
>
> NOTRY=true
> BUG=webrtc:6451
>
> Committed: https://crrev.com/ab0b929321d37669165d5795268fa10a8c97ec5b
> Cr-Commit-Position: refs/heads/master@{#14474}

TBR=ossu@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6451

Review-Url: https://codereview.webrtc.org/2384083004
Cr-Commit-Position: refs/heads/master@{#14480}
2016-10-03 15:32:36 +00:00
sakal
65b42c251f Fix receiving H264 video from iPhone on Kitkat devices.
Changing this constant has been empirically proven to solve the issue.

BUG=webrtc:6455,b/31827852

Review-Url: https://codereview.webrtc.org/2382733006
Cr-Commit-Position: refs/heads/master@{#14479}
2016-10-03 15:07:06 +00:00
sakal
8f741e953c Change Camera1Enumerator to create a Camera1Capturer instead of VideoCapturerAndroid.
BUG=webrtc:6148

Review-Url: https://codereview.webrtc.org/2356073003
Cr-Commit-Position: refs/heads/master@{#14478}
2016-10-03 15:06:05 +00:00
brandtr
0aabdac743 Generalize UlpfecPacketGenerator into AugmentedPacketGenerator.
Main changes:
- Split out general functionality from UlpfecPacketGenerator
  into a new class AugmentedPacketGenerator. This will allow
  for the addition of a FlexfecPacketGenerator that inherits
  from AugmentedPacketGenerator.
- Rename RawRtpPacket to AugmentedPacket. This name is more
  reflective of its purpose, i.e., an FEC packet with an
  additional WebRtcRTPHeader.
- Return std::unique_ptr's instead of raw pointers.

Minor changes:
- Update names, based on RawRtpPacket -> AugmentedPacket name
  change, in FEC unit tests.
- Rename |generator_| to |packet_generator_|, in FEC unit tests.
- Change some int's to size_t's in the packet generator classes.
- Use std::unique_ptr in ProducerFec unittest.

No functionality or performance changes are expected
due to this CL.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2271273004
Cr-Commit-Position: refs/heads/master@{#14477}
2016-10-03 13:36:49 +00:00
solenberg
b19d288c94 Remove chain of methods in RtpRtcp module to get current payload frequency for RTCP SRs, which anyway was stuck to defaults for video/audio.
BUG=webrtc:2795,webrtc:6458

Review-Url: https://codereview.webrtc.org/2362373002
Cr-Commit-Position: refs/heads/master@{#14476}
2016-10-03 13:22:32 +00:00
brandtr
71ca74798a Style fixes in FecReceiver and ProducerFec unit tests.
- Change some types to size_t.
- Update parameter ordering.
- Run 'git cl format'
- Moved 'using declarations' into unnamed namespaces.
- Removed "::webrtc::" prefix from some using declarations.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2273353002
Cr-Commit-Position: refs/heads/master@{#14475}
2016-10-03 12:11:31 +00:00
kwiberg
ab0b929321 Test RTC_DCHECK_IS_ON instead of checking DCHECK_ALWAYS_ON everywhere
The former is always defined (by webrtc/base/checks.h) to either 0 or
1, whereas the latter isn't necessarily defined.

NOTRY=true
BUG=webrtc:6451

Review-Url: https://codereview.webrtc.org/2384693002
Cr-Commit-Position: refs/heads/master@{#14474}
2016-10-03 12:04:25 +00:00
Viktor Palmkvist
1d477ea6d5 Default constructor for file
BUG=webrtc:6177
R=perkj@webrtc.org, sprang@webrtc.org

Review URL: https://codereview.webrtc.org/2360303004 .

Cr-Commit-Position: refs/heads/master@{#14473}
2016-10-03 11:16:15 +00:00
Kári Tristan Helgason
470c0887b3 Fix modules_unittests on iOS.
Some of the module tests were failing on iOS, causing them to be ignored
on the trybots. Specifically this CL:
- Skips some tests that should not run on the simulator
- Fixes iOS file system test helpers
- Fixes failing nalu parser unittest

BUG=webrtc:4752
R=henrika@webrtc.org, peah@webrtc.org, sprang@webrtc.org
TBR=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/2352063002 .

Cr-Commit-Position: refs/heads/master@{#14472}
2016-10-03 11:13:33 +00:00
brandtr
a4545ee4bb Rename FrameGenerator -> UlpfecPacketGenerator.
Also, change order of definition in fec_test_helper.{h,cc}.

This CL should have no implications on functionality. It is in preparation
for a FlexfecPacketGenerator class, which will be used in the FlexFEC
unit tests.

R=danilchap@webrtc.org
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2276473002
Cr-Commit-Position: refs/heads/master@{#14471}
2016-10-03 09:58:52 +00:00
brandtr
cada34cd98 Fuzzer for FEC header readers.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2265493002
Cr-Commit-Position: refs/heads/master@{#14470}
2016-10-03 09:02:53 +00:00
brandtr
0496de298e Add FlexFEC header formatters.
Add classes that can read and finalize FlexFEC headers.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2269903002
Cr-Commit-Position: refs/heads/master@{#14469}
2016-10-03 07:43:31 +00:00
perkj
8ff860a35d Add support for WeakPtr<T>
The implementation is borrowed from Chromium.

Also change use of raw pointers in VideoSendStreamImpl to use WeakPtr<>

BUG= webrtc:6289

Review-Url: https://codereview.webrtc.org/2367853002
Cr-Commit-Position: refs/heads/master@{#14468}
2016-10-03 07:30:08 +00:00
perkj
fa10b557d9 Releand of Let ViEEncoder handle resolution changes.
The original landed cl is in patchset 1.
The following patchset fix VideoQualityTest as well as fix the case where max_bitrate is set in the SendParams. A unit test is added for that as well.

Original cl description:
Let ViEEncoder handle resolution changes.

This cl move codec reconfiguration due to video frame size changes from WebRtcVideoSendStream to ViEEncoder.

With this change, many variables in WebRtcVideoSendStream no longer need to be locked.

BUG=webrtc:5687, webrtc:6371, webrtc:5332

Review-Url: https://codereview.webrtc.org/2386573002
Cr-Commit-Position: refs/heads/master@{#14467}
2016-10-03 06:45:33 +00:00
minyue
a1d9ad0b58 Creating controller manager from config string in audio network adaptor.
BUG=webrtc:6303

Review-Url: https://codereview.webrtc.org/2364403004
Cr-Commit-Position: refs/heads/master@{#14466}
2016-10-02 21:53:45 +00:00
danilchap
7411061982 Use RtpPacketToSend in RtpSenderVideo.
This reduce reparsing rtp packet while sending.

BUG=webrtc:5261

Review-Url: https://codereview.webrtc.org/2217383002
Cr-Commit-Position: refs/heads/master@{#14465}
2016-10-02 17:54:52 +00:00
kwiberg
ac9f876bc0 Sort #includes that got unsorted when gmock.h and gtest.h moved to webrtc/test/
gmock.h and gtest.h were moved (or rather, got wrappers so that we
could put some icky compatibility hacks in one place instead of 500)
in this CL: https://codereview.webrtc.org/2358993004/

NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2381013002
Cr-Commit-Position: refs/heads/master@{#14464}
2016-10-01 05:29:53 +00:00
Taylor Brandstetter
fe69a74ba8 Making ContinueSSL synchronously set the state to "open".
It was recently made asynchronous, and this broke some downstream tests.

BUG=webrtc:6387
TBR=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/2381313003 .

Cr-Commit-Position: refs/heads/master@{#14463}
2016-10-01 00:34:42 +00:00
deadbeef
dd7fb43f28 Emit SignalReadyToSend even for "presumed writable" connections.
The Connection class will now blindly forward SignalReadyToSend, and
P2PTransportChannel will decide whether to forward it further (which
it was already doing).

BUG=webrtc:6448

Review-Url: https://codereview.webrtc.org/2374183005
Cr-Commit-Position: refs/heads/master@{#14462}
2016-09-30 22:16:57 +00:00
deadbeef
89824f6fe0 Relanding: Allow the DTLS fingerprint verification to occur after the handshake.
This means the DTLS handshake can make progress while the SDP answer
containing the fingerprint is still in transit. If the signaling path
if significantly slower than the media path, this can have a moderate
impact on call setup time.

Of course, until the fingerprint is verified no media can be sent. Any
attempted write will result in SR_BLOCK.

This essentially fulfills the requirements of RFC 4572, Section 6.2:

   Note that when the offer/answer model is being used, it is possible
   for a media connection to outrace the answer back to the offerer.
   Thus, if the offerer has offered a 'setup:passive' or 'setup:actpass'
   role, it MUST (as specified in RFC 4145 [2]) begin listening for an
   incoming connection as soon as it sends its offer.  However, it MUST
   NOT assume that the data transmitted over the TLS connection is valid
   until it has received a matching fingerprint in an SDP answer.  If
   the fingerprint, once it arrives, does not match the client's
   certificate, the server endpoint MUST terminate the media connection
   with a bad_certificate error, as stated in the previous paragraph.

BUG=webrtc:6387

Review-Url: https://codereview.webrtc.org/2163683003
Cr-Commit-Position: refs/heads/master@{#14461}
2016-09-30 18:55:49 +00:00
stefan
3cdfcd88a1 Revert of Use sps and pps to determine decodability of H.264 frames. (patchset #4 id:60001 of https://codereview.webrtc.org/2341713002/ )
Reason for revert:
Broke browser_tests, e.g., WebRtcVideoQualityBrowserTests/WebRtcVideoQualityBrowserTest.MANUAL_TestVideoQualityH264

Original issue's description:
> Use sps and pps to determine decodability of H.264 frames.
>
> NOPRESUBMIT=true
> BUG=webrtc:6208
> R=philipel@webrtc.org
>
> Committed: https://crrev.com/17b02633666f2f5d7e78767ad5674c728d639c26
> Cr-Commit-Position: refs/heads/master@{#14458}

TBR=philipel@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6208

Review-Url: https://codereview.webrtc.org/2381233004
Cr-Commit-Position: refs/heads/master@{#14460}
2016-09-30 16:06:43 +00:00
gaetano.carlucci
61050f67ef Fixig issues in BWE dynamics plot scripts.
BUG=None

Review-Url: https://codereview.webrtc.org/2360053003
Cr-Commit-Position: refs/heads/master@{#14459}
2016-09-30 13:29:57 +00:00
Stefan Holmer
17b0263366 Use sps and pps to determine decodability of H.264 frames.
NOPRESUBMIT=true
BUG=webrtc:6208
R=philipel@webrtc.org

Review URL: https://codereview.webrtc.org/2341713002 .

Cr-Commit-Position: refs/heads/master@{#14458}
2016-09-30 13:24:26 +00:00
sakal
55d932b331 Add logging statements to places where the frame might be dropped in WebRTC pipeline.
BUG=b/31645554

Review-Url: https://codereview.webrtc.org/2361803003
Cr-Commit-Position: refs/heads/master@{#14457}
2016-09-30 13:19:12 +00:00
nisse
115bd153c7 New helper function test::ReadI420Buffer, refactor FrameReader to use it.
This change reduces the number of places where we first fread a I420
frame into a uint8_t buffer, followed by a copy into a frame buffer
object.

BUG=None

Review-Url: https://codereview.webrtc.org/2362683002
Cr-Commit-Position: refs/heads/master@{#14456}
2016-09-30 11:14:11 +00:00
nisse
6f112cc136 Delete unused support for vp8 partitions.
This also makes it possible to drop the RTPFragmentationHeader from
the class VCMEncodedFrame.

BUG=None

Review-Url: https://codereview.webrtc.org/2380933003
Cr-Commit-Position: refs/heads/master@{#14455}
2016-09-30 10:43:07 +00:00
asapersson
3cc47ebd2d Add sanity check for decreasing RTP timestamp in RtpToNtpMs.
The capture time for a frame (capture_ms) is set later (in ViEEncoder::IncomingCapturedFrame) than the timestamp.
Could potentially cause the RTP timestamp in consecutive RTCP SR to decrease.
Example:
// Frame1 46371: timestamp:2732, capture_ms:46373, rtcp SR ms: 46423 -> estimated current RTP timestamp:2732+(46423-46373)*90 = 7232
// Frame2 46404: timestamp:5702, capture_ms:46412, rtcp SR ms: 46428 -> estimated current RTP timestamp:5702+(46428-46412)*90 = 7142
// Diff:  33 ms:          33 ms,            39 ms,              5 ms

BUG=b/31154867

Review-Url: https://codereview.webrtc.org/2354843003
Cr-Commit-Position: refs/heads/master@{#14454}
2016-09-30 10:16:26 +00:00
nisse
f5297a019e Reland of Delete VideoFrameFactory, CapturedFrame, and related code. (patchset #1 id:1 of https://codereview.webrtc.org/2357113002/ )
Reason for revert:
Downstream code is being fixed.

Original issue's description:
> Revert of Delete VideoFrameFactory, CapturedFrame, and related code. (patchset #9 id:160001 of https://codereview.webrtc.org/2262443003/ )
>
> Reason for revert:
> Breaks downstream testcode, still using CapturedFrame.
>
> Original issue's description:
> > Delete VideoFrameFactory, CapturedFrame, and related code.
> >
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/66ac50e58c790624d51ede10ae438cbadbca9d2e
> > Cr-Commit-Position: refs/heads/master@{#14315}
>
> TBR=pthatcher@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/66492210e57ee8efce2ad4d45a8781df1fcaa5e3
> Cr-Commit-Position: refs/heads/master@{#14320}

TBR=pthatcher@webrtc.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2370993003
Cr-Commit-Position: refs/heads/master@{#14453}
2016-09-30 08:34:35 +00:00
Stefan Holmer
280de9e1c3 Reland: Fix race / crash in OnNetworkRouteChanged().
To achieve this some refactoring was done to make it possible to synchronize
access to the DelayBasedBwe in TransportFeedbackAdapter:
- The callback was removed from DelayBasedBwe, it now instead returns its
  result.
- TransportFeedbackAdapter was moved to modules/congestion_controller to avoid
  unnecessary dependencies.

Reenables previously disabled flaky test. Can no longer reproduce flakiness with gtest-parallel and asan/tsan builds.

BUG=webrtc:6427, webrtc:6422
R=terelius@webrtc.org

Review URL: https://codereview.webrtc.org/2378103005 .

Cr-Commit-Position: refs/heads/master@{#14452}
2016-09-30 08:07:00 +00:00
kthelgason
20a52e1639 Reland of Unify the macOS and iOS capturer implementations (patchset #1 id:1 of https://codereview.webrtc.org/2381853002/ )
Reason for revert:
Internal project has been fixed

Original issue's description:
> Revert of Unify the macOS and iOS capturer implementations (patchset #4 id:60001 of https://codereview.webrtc.org/2309253005/ )
>
> Reason for revert:
> Breaks internal project
>
> Original issue's description:
> > Unify the macOS and iOS capturer implementations
> >
> > This removes the QTKit based capturer for mac, and removes the need
> > to link against deprecated system libraries on macOS.
> >
> > BUG=webrtc:3968,webrtc:6275,webrtc:6333
> >
> > Committed: https://crrev.com/242d8bdddd77109781cbb70c59d161be7566ac98
> > Cr-Commit-Position: refs/heads/master@{#14418}
>
> TBR=magjed@webrtc.org,tkchin@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:3968,webrtc:6275,webrtc:6333
>
> Committed: https://crrev.com/eddb7571d81e51a66f4abaf55013c85b4132c837
> Cr-Commit-Position: refs/heads/master@{#14429}

TBR=magjed@webrtc.org,tkchin@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:3968,webrtc:6275,webrtc:6333

Review-Url: https://codereview.webrtc.org/2375273004
Cr-Commit-Position: refs/heads/master@{#14451}
2016-09-30 07:43:18 +00:00
denicija
edbae5e0ac Remove Crit::Scope lock by using atomic bool property.
The clang static analyzer seems unable to resolve cpp locks in ObjC code.
As of current time, the clang analyzer has known limitations documented
http://clang.llvm.org/docs/ThreadSafetyAnalysis.html#known-limitations.
From the documentation: "The analysis currently does not do any checking
inside constructors or destructors.
In other words, every constructor and destructor is treated
as if it was annotated with NO_THREAD_SAFETY_ANALYSIS."
This is 'probably' why the analyzer is unable to resolve the lock when
used in ObjC land (the cpp works fine).
The lock can be removed by using atomic property instead.
It's not on performance critical path and we expect updates on just one queue and reads from others. That's why the thread assurance atomic properties bring is enough.
The CL removes rtc_sdk_peerconnection_objc_warnings_config as well as it's no longer needed.

BUG=webrtc:6308

Review-Url: https://codereview.webrtc.org/2372513004
Cr-Commit-Position: refs/heads/master@{#14450}
2016-09-30 07:21:28 +00:00
ehmaldonado
eb5040ae44 Disable TCPChannelClientTest.testConnectIPv6
This test is failing because IPv6 is not fully supported on some of the
bots. (See https://bugs.chromium.org/p/chromium/issues/detail?id=612380)

R=kjellander@webrtc.org
TBR=perkj@webrtc.org
BUG=webrtc:6437
NOTRY=True
TESTED=ninja -C out/gn && out/gn/bin/run_android_junit_tests with and without the CL and verified the test is not run.

Review-Url: https://codereview.webrtc.org/2381503005
Cr-Commit-Position: refs/heads/master@{#14449}
2016-09-30 07:20:12 +00:00
Kári Tristan Helgason
15e4ec334c Remove compat for iOS 7/8
BUG=None
R=magjed@webrtc.org, tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/2382713002 .

Cr-Commit-Position: refs/heads/master@{#14448}
2016-09-30 06:56:44 +00:00
perkj
3b703ede8b Revert of Let ViEEncoder handle resolution changes. (patchset #17 id:340001 of https://codereview.webrtc.org/2351633002/ )
Reason for revert:
Fails on a content_browsertest (and also webrtc_perf?)

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Tester/builds/34336

https://build.chromium.org/p/client.webrtc/builders/Linux64%20Release%20%5Blarge%20tests%5D/builds/9091/steps/webrtc_perf_tests/logs/stdio
[  FAILED  ] FullStackTest.ParisQcifWithoutPacketLoss (59436 ms)

Original issue's description:
> Let ViEEncoder handle resolution changes.
>
> This cl move codec reconfiguration due to video frame size changes from WebRtcVideoSendStream to ViEEncoder.
>
> With this change, many variables in WebRtcVideoSendStream no longer need to be locked.
>
> BUG=webrtc:5687, webrtc:6371, webrtc:5332
>
> Committed: https://crrev.com/26105b41b4f97642ee30cb067dc786c2737709ad
> Cr-Commit-Position: refs/heads/master@{#14445}

TBR=sprang@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5687, webrtc:6371, webrtc:5332

Review-Url: https://codereview.webrtc.org/2383493005
Cr-Commit-Position: refs/heads/master@{#14447}
2016-09-30 06:25:46 +00:00
Honghai Zhang
b73d269707 Replace RelayPort with TurnPort in p2ptransportchannel tests.
Also remove the relay servers in the tests.
Most of the code and the downstream apps are using TurnPort, not RelayPort. Most of the tests in this file are not using RelayPort anyway.

BUG=None
R=deadbeef@webrtc.org

Review URL: https://codereview.webrtc.org/2380923002 .

Committed: https://crrev.com/c8d21712dde64c7d613d1ea56c840438505a909f
Cr-Original-Commit-Position: refs/heads/master@{#14441}
Cr-Commit-Position: refs/heads/master@{#14446}
2016-09-30 05:46:16 +00:00
perkj
26105b41b4 Let ViEEncoder handle resolution changes.
This cl move codec reconfiguration due to video frame size changes from WebRtcVideoSendStream to ViEEncoder.

With this change, many variables in WebRtcVideoSendStream no longer need to be locked.

BUG=webrtc:5687, webrtc:6371, webrtc:5332

Review-Url: https://codereview.webrtc.org/2351633002
Cr-Commit-Position: refs/heads/master@{#14445}
2016-09-30 05:39:15 +00:00
honghaiz
8b8459e31b suppress memcheck test errors in the Opus decoder and encoder.
BUG=webrtc:6444

TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2374253006
Cr-Commit-Position: refs/heads/master@{#14444}
2016-09-30 04:12:46 +00:00
honghaiz
75f6626718 Revert of Replace RelayPort with TurnPort in p2ptransportchannel tests. (patchset #2 id:40001 of https://codereview.webrtc.org/2380923002/ )
Reason for revert:
It caused some tests in p2ptransportchannel flaky.

Original issue's description:
> Replace RelayPort with TurnPort in p2ptransportchannel tests.
>
> Also remove the relay servers in the tests.
> Most of the code and the downstream apps are using TurnPort, not RelayPort. Most of the tests in this file are not using RelayPort anyway.
>
> BUG=None
> R=deadbeef@webrtc.org
>
> Committed: https://crrev.com/c8d21712dde64c7d613d1ea56c840438505a909f
> Cr-Commit-Position: refs/heads/master@{#14441}

TBR=deadbeef@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None

Review-Url: https://codereview.webrtc.org/2385563002
Cr-Commit-Position: refs/heads/master@{#14443}
2016-09-30 01:17:36 +00:00
danilchap
7851bda9bc Move RTCPHelp::RTCPReceiveInformation inside RTCPReceiver
move all logic from that class into RTCPReceiver too,
Simplify and fix style on the way.

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2373053002
Cr-Commit-Position: refs/heads/master@{#14442}
2016-09-29 22:28:12 +00:00
Honghai Zhang
c8d21712dd Replace RelayPort with TurnPort in p2ptransportchannel tests.
Also remove the relay servers in the tests.
Most of the code and the downstream apps are using TurnPort, not RelayPort. Most of the tests in this file are not using RelayPort anyway.

BUG=None
R=deadbeef@webrtc.org

Review URL: https://codereview.webrtc.org/2380923002 .

Cr-Commit-Position: refs/heads/master@{#14441}
2016-09-29 21:51:36 +00:00
skvlad
7502401788 Do not spam "Connect failed with 101/65" in logs.
WebRTC polls the list of local IP addresses for both IPv4 and IPv6
every ~2 seconds. It does so by trying to connect() a UDP socket to
an address on the public Internet (without actually sending any
packets).

If the host doesn't have IPv6 (or IPv4) connectivity, it fails with
errno 101 (ENETUNREACH, Linux) or errno 65 (EHOSTUNREACH, Mac).

This is the expected behavior, and we shouldn't be logging these
failures, especially since polling is fairly frequent.

BUG=webrtc:6347
R=deadbeef@webrtc.org, honghaiz@webrtc.org, perkj@webrtc.org

Review URL: https://codereview.webrtc.org/2370383002 .

Cr-Commit-Position: refs/heads/master@{#14440}
2016-09-29 19:59:44 +00:00
henrik.lundin
591c709fcb Suppress a memcheck error in Opus decoder
BUG=webrtc:6444
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2376103004
Cr-Commit-Position: refs/heads/master@{#14439}
2016-09-29 15:45:26 +00:00