Commit Graph

8673 Commits

Author SHA1 Message Date
ee18220ddd Remove GetTransport() from TransportChannelImpl
This appears to be dead code because GetTransport() is not used by WebRTC. It also adds dead code to DtlsTransportChannelWrapper and P2PTransportChannel.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11662}
2016-02-17 23:20:22 +00:00
ee75c7a78f Compile rtc_base_objc for Mac.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11661}
2016-02-17 22:45:00 +00:00
e3c6c82717 When doing continual gathering, remove the local ports when a corresponding network is dropped.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11660}
2016-02-17 21:00:35 +00:00
a08bb0d163 Disabled the test EndToEndTest RestartingSendStreamPreservesRtpState due to the test being flaky.
BUG=webrtc:5543

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

Cr-Commit-Position: refs/heads/master@{#11659}
2016-02-17 18:27:58 +00:00
b7f89d6e66 Replace scoped_ptr with unique_ptr in webrtc/voice_engine/
Also introduce a pair of scoped_ptr <-> unique_ptr conversion
functions. By using them judiciously, we can keep these CL:s small and
avoid having to convert enormous amounts of code at once.

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11658}
2016-02-17 18:04:26 +00:00
dabf07f477 Replace scoped_ptr with unique_ptr in webrtc/modules/audio_processing/vad/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11657}
2016-02-17 15:59:51 +00:00
a293ef0618 Apply VideoOptions per stream.
BUG=webrtc:5438

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

Cr-Commit-Position: refs/heads/master@{#11656}
2016-02-17 15:24:57 +00:00
789ba92e14 Simplify CongestionController.
- Removes the dependency on CallStats.
- Implements Module interface so that we don't have to register
  each internal component to the process thread separately.

R=pbos@webrtc.org, solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11655}
2016-02-17 14:52:25 +00:00
bad7804b99 Remove unused VideoSendStream TransportAdapter.
BUG=
R=danilchap@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11654}
2016-02-17 14:43:02 +00:00
62eaacf5ee Replace scoped_ptr with unique_ptr in webrtc/modules/audio_processing/test/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11653}
2016-02-17 14:39:13 +00:00
28c99bc44a iOS: Include legacy objc API in all.gyp + fix H264 libyuv dependency
The legacy objc API is not included in the GYP generation if include_tests=0.
This causes problems downstream in some cases, so it's changed in this CL.

The libyuv dependency needs to be possible to disable using the build_libyuv
GYP variable.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11652}
2016-02-17 13:38:35 +00:00
4b4dc86c61 Remove conference_mode flag from AudioOptions and VideoOptions.
For audio, the flag is apparently unused. For video, the flag is moved to
VideoSendParameters, with the intention to keep only per-stream flags in
VideoOptions. The flag is used for the webrtcvideoengine2 logic commented like

  // Conference mode screencast uses 2 temporal layers split at 100kbit.

  // For screenshare in conference mode, tl0 and tl1 bitrates are piggybacked
  // on the VideoCodec struct as target and max bitrates, respectively.
  // See eg. webrtc::VP8EncoderImpl::SetRates().

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#11651}
2016-02-17 13:25:40 +00:00
69e59e619a [rtp_rtcp] rtc::scoped_ptr<rtcp::RawPacket> replaced with rtc::Buffer
rtcp::RawPacket is rtc::Buffer, it had no extra functionality.
rtc::Buffer is a movable class - no point to wrap it into rtc::scoped_ptr
change is large, but straightforward:
  rtc::scoped_ptr<rtcp::RawPacket> replaced with rtc::Buffer
  ->Buffer() replaced with .data()
  ->Length() replaced with .size()

BUG=webrtc:5260

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

Cr-Commit-Position: refs/heads/master@{#11649}
2016-02-17 11:11:50 +00:00
67680c1bf9 Ignore padding-only RTX packets in test.
Makes DecodesRetransmittedFrame not flake/fail due to sent padding when
probing, which is correct behavior. Also removes hack that accepted this
only during the first n packets.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11648}
2016-02-17 10:10:14 +00:00
a332e2d3af Added boilerplate code for being able to test the upcoming
AEC functionality.

BUG=webrtc:5201

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

Cr-Commit-Position: refs/heads/master@{#11647}
2016-02-17 09:11:24 +00:00
0206000a66 iOS: Add resource files for tests and implement OutputPath
With this change the following tests have been successfully
passing in the iOS Simulator for iPhone 5 and iOS 9:
* audio_decoder_unittests
* common_video_unittests
* modules_tests
* rtc_api_objc_tests
* rtc_pc_unittests
* system_wrappers_unittests
* voice_engine_unittests

The modules_unittests and common_audio_unittests are
handled in https://codereview.webrtc.org/1698033002/

BUG=webrtc:4755
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11646}
2016-02-17 06:06:17 +00:00
85d8bb025a Replace scoped_ptr with unique_ptr in webrtc/modules/audio_processing/transient/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11645}
2016-02-17 04:39:43 +00:00
9d3584c47e Implementing unified plan encoding of msid.
Meaning "a=msid:...", instead of "a=ssrc:X msid:...".
An additional option to SdpSerialize determines if the
"a=msid" attribute is used.

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

Cr-Commit-Position: refs/heads/master@{#11644}
2016-02-17 01:54:16 +00:00
25d6a0fb69 Adding TSan suppressions temporarily to fix some flaky unit tests.
BUG=webrtc:5524
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#11643}
2016-02-17 00:54:59 +00:00
e1a0c942d6 Add network cost as part of the connection ranking.
For now, the network cost is purely based on the network type (cellular has cost 0xFFFF and everything else has cost 0).
Add cost to the candidate signaling and the stun request signaling (which is needed for peer reflexive candidates).
BUG=webrtc:4325

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

Cr-Commit-Position: refs/heads/master@{#11642}
2016-02-16 22:55:01 +00:00
2c38c20e7b Fix out-of-buffer write in iLBC
In some cases, the decoder can write outside of an allocated array. See
the new comment in the code for more details.

BUG=chromium:568885, webrtc:5305

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

Cr-Commit-Position: refs/heads/master@{#11641}
2016-02-16 18:01:57 +00:00
44c65e9eed Enable adaptive threshold experiment by default.
BUG=webrtc:4711
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11640}
2016-02-16 17:22:30 +00:00
9d0c43242b Remove video-codec max bitrate from TMMBN.
TMMBN was capped by configured max bitrate for no apparent reason.
Removing this to not require payload-type reconfiguration on new
video-codec settings. Actual removal of payload-type reconfiguration
will happen in a pending CL.

BUG=webrtc:5494
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11639}
2016-02-16 16:59:36 +00:00
d20327c7d7 Increase the allowed number of probe packets in test to please msan.
This started flaking due to allowing probes to restart if they were aborted due to insufficient packets. This is reasonable behavior.

TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11638}
2016-02-16 16:43:37 +00:00
ee31f0a7d5 Fix out-of-buffer read in iLBC
In some cases, the decoder can read outside of an allocated array. See
the new comment in the code for more details.

BUG=chromium:568889, webrtc:5305

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

Cr-Commit-Position: refs/heads/master@{#11637}
2016-02-16 16:42:15 +00:00
62a5ccdb53 Update bitrate only when we have incoming packet.
Also cleans up some unused code and makes sure the min bitrate of the BWE can't be set to anything lower than 10 kbps.

BUG=webrtc:5474
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11636}
2016-02-16 16:07:31 +00:00
58cf5f14ec Changed order of events when synthesizing a call.
This is needed when synthesizing a call based on
48 kHz audio files as otherwise an error is
generated about the wrong sample rate is generated.
That error is in turned caused by the sample rate
being changed from the default 16 kHz
at the first Capture API call event.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11635}
2016-02-16 15:26:25 +00:00
0453ef857f Prevent busy-looping PacedSender on small packets.
Skip accounting for small packets and suspend the prober if no
large-enough packets have been sent for some time. This especially seems
to have triggered in audio-only calls where all packets are too small,
making TimeUntilNextProbe return 0 forever, causing the module process
thread to wake up forever.

BUG=webrtc:5506
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11634}
2016-02-16 15:23:16 +00:00
1794b2675f Extract ViESyncModule outside ViEChannel.
Moves functionality outside ViEChannel and away from the sender.

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

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

Cr-Commit-Position: refs/heads/master@{#11633}
2016-02-16 13:12:11 +00:00
a3dc79e072 Move SSLIdentity Generate() implementations from .h to .cc file.
This amends https://codereview.webrtc.org/1683193003/

BUG=
R=hbos@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11632}
2016-02-16 12:34:04 +00:00
71e92dc5e8 Avoid overflow in WebRtcSpl_Sqrt
When the input to WebRtcSpl_Sqrt was the maximum negative value
(-2147483648), the calculations would overflow. This is now solved by
nudging this particular input value one step.

BUG=webrtc:5512

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

Cr-Commit-Position: refs/heads/master@{#11631}
2016-02-15 20:38:14 +00:00
e8dc081c35 Implement certificate lifetime parameter as required by WebRTC RFC.
BUG=chromium:569005

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

Cr-Commit-Position: refs/heads/master@{#11629}
2016-02-15 17:36:01 +00:00
b1ae3a45d0 Stop decoders in VideoReceiveStream destructor.
Prevents use-after-free from decoder threads since the VCM outlives
ViEChannel.

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

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

Cr-Commit-Position: refs/heads/master@{#11628}
2016-02-15 16:52:50 +00:00
461121c67b Replaced eglbase_jni with with holding a EglBase in PeerConnectionFactory.
Review URL: https://codereview.webrtc.org/1695763002

Cr-Commit-Position: refs/heads/master@{#11627}
2016-02-15 14:28:40 +00:00
16c5a96630 Replace scoped_ptr with unique_ptr in webrtc/modules/audio_coding/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11622}
2016-02-15 10:27:34 +00:00
395939781b Reland of Don't send FEC for H.264 with NACK enabled. (patchset #1 id:1 of https://codereview.webrtc.org/1692783005/ )
Reason for revert:
Disabling tests on memcheck that time out due to using real VP8 encoders.

Original issue's description:
> Revert of Don't send FEC for H.264 with NACK enabled. (patchset #5 id:80001 of https://codereview.webrtc.org/1687303002/ )
>
> Reason for revert:
> Broke the VerifyHistogramStatsWithRed test on the Windows DrMemory Full bot and Linux Memcheck bot. Please fix the test and reland.
>
> Original issue's description:
> > Don't send FEC for H.264 with NACK enabled.
> >
> > The H.264 does not contain picture IDs and are not sufficient to
> > determine that a packet may be skipped. This causes retransmission
> > requests for FEC that are currently dropped by the sender (since they
> > should be redundant).
> >
> > The receiver is then unable to continue without having the packet gap
> > filled (unlike VP8/VP9 which moves on since it has a consecutive stream
> > of picture IDs).
> >
> > Even if FEC retransmission did work it's a huge waste of bandwidth,
> > since it just adds additional overhead that has to be unconditionally
> > transmitted. This bandwidth is better used to send higher-quality
> > frames.
> >
> > BUG=webrtc:5264
> > R=stefan@webrtc.org
> >
> > Committed: https://crrev.com/25558ad819b4df41ba51537e26a77480ace1e525
> > Cr-Commit-Position: refs/heads/master@{#11601}
>
> TBR=stefan@webrtc.org,pbos@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5264
>
> Committed: https://crrev.com/29ffdc1a15e31bd81e806ff135c2100d811714f0
> Cr-Commit-Position: refs/heads/master@{#11607}

TBR=stefan@webrtc.org,deadbeef@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5264

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

Cr-Commit-Position: refs/heads/master@{#11621}
2016-02-15 10:27:22 +00:00
cde5d6b305 removed five redundant avsync tests to make webrtc_perf_test faster
R=kwiberg@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11620}
2016-02-15 10:15:10 +00:00
e829f58928 Rename libjingle_p2p_unittest -> rtc_pc_unittests
BUG=webrtc:5419
R=pthatcher@webrtc.org
TBR=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11619}
2016-02-15 08:36:44 +00:00
3747838afb Replace scoped_ptr with unique_ptr in webrtc/modules/audio_coding/test/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11618}
2016-02-15 04:41:04 +00:00
2d0c33277c Replace scoped_ptr with unique_ptr in webrtc/modules/audio_coding/neteq/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11616}
2016-02-14 17:28:39 +00:00
04af839a88 Move refcount.h and scoped_ref_ptr.h to rtc_base_approved.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11615}
2016-02-14 16:11:17 +00:00
91d9756bc6 Replace scoped_ptr with unique_ptr in webrtc/modules/audio_coding/codecs/
BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11613}
2016-02-14 09:10:08 +00:00
be61562bfb Moved the GainControlForNewAGC class to be a separate file.
Apart from being motivated in order to make the source files shorter
this is needed when separating the APM submodules structs into
separate files.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11611}
2016-02-14 00:40:53 +00:00
88b0a2292a Add VP9 to full stack tests.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11608}
2016-02-12 21:16:51 +00:00
29ffdc1a15 Revert of Don't send FEC for H.264 with NACK enabled. (patchset #5 id:80001 of https://codereview.webrtc.org/1687303002/ )
Reason for revert:
Broke the VerifyHistogramStatsWithRed test on the Windows DrMemory Full bot and Linux Memcheck bot. Please fix the test and reland.

Original issue's description:
> Don't send FEC for H.264 with NACK enabled.
>
> The H.264 does not contain picture IDs and are not sufficient to
> determine that a packet may be skipped. This causes retransmission
> requests for FEC that are currently dropped by the sender (since they
> should be redundant).
>
> The receiver is then unable to continue without having the packet gap
> filled (unlike VP8/VP9 which moves on since it has a consecutive stream
> of picture IDs).
>
> Even if FEC retransmission did work it's a huge waste of bandwidth,
> since it just adds additional overhead that has to be unconditionally
> transmitted. This bandwidth is better used to send higher-quality
> frames.
>
> BUG=webrtc:5264
> R=stefan@webrtc.org
>
> Committed: https://crrev.com/25558ad819b4df41ba51537e26a77480ace1e525
> Cr-Commit-Position: refs/heads/master@{#11601}

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

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

Cr-Commit-Position: refs/heads/master@{#11607}
2016-02-12 20:00:47 +00:00
5e7834e151 Android: Make VideoCapturer an interface for all VideoCapturers to implement
This CL factors out the interface that AndroidVideoCapturerJni is using to communicate with the Java counterpart. This interface is moved into VideoCapturer. The interface is not touched in this CL, and a follow-up CL is planned to simplify and improve it.

Another change is that the native part of VideoCapturer is created in PeerConnectionFactory.createVideoSource() instead of doing it immediately in the ctor.

BUG=webrtc:5519
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11606}
2016-02-12 16:05:36 +00:00
e78765bd4b Removes Nexus 5 from AEC and NS blacklists
BUG=b/27086464
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11605}
2016-02-12 15:33:44 +00:00
579e832a51 Fix race on VCM protection callback.
Removes protection-callback removal and makes ViEChannel outlive
ViEEncoder to not have races between BitrateAllocator and
VideoSendStream destruction.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11604}
2016-02-12 15:30:10 +00:00
b72dada927 Remove Reset from conditionally-compiled decoders.
Reset is no longer called but removal of them was missed in a previous
commit.

BUG=webrtc:5475
TBR=hbos@webrtc.org,tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11603}
2016-02-12 14:57:03 +00:00
c90e9b64d5 Remove no-op VideoDecoder::Reset implementation.
No longer used in Chromium and should be removable now.

BUG=webrtc:5475
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11602}
2016-02-12 14:16:31 +00:00