Commit Graph

5681 Commits

Author SHA1 Message Date
f45381e1e5 VideoCapturerAndroid: Report onFirstFrameAvailable() for textures as well
We currently only trigger onFirstFrameAvailable() for byte buffer frames.

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11670}
2016-02-18 14:47:55 +00:00
5199c74d25 AndroidVideoCapturer getSupportedFormats(): Change interface from JSON string to List/vector
This CL simplifies the VideoCapturer interface from 'String getSupportedFormatsAsJson() throws JSONException' to 'List<CaptureFormat> getSupportedFormats()'. The intermediate conversion to/from a JSON string is removed, and AndroidVideoCapturerJni converts the Java list to a C++ vector directly instead.

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

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

Cr-Commit-Position: refs/heads/master@{#11669}
2016-02-18 12:10:02 +00:00
347c0bb5b5 Android GLShader: Check return value of glCreateShader()
This CL adds a check to see if the return value of GLES20.glCreateShader() is zero. Also, shaders are flagged for deletion immediately after glLinkProgram() instead of doing it in release().

BUG=b/27197590

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

Cr-Commit-Position: refs/heads/master@{#11668}
2016-02-18 11:47:52 +00:00
3ee73a59ad Make RemoteBitrateEstimator::GetStats() virtual.
Should have been added in 59c634b605.

R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11667}
2016-02-18 10:42:40 +00:00
Per
fd22e6cf2d Change PeerConnectionFactory.setVideoHwAccelerationOptions to be able to replace Egl context.
BUG=b/27222102
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11666}
2016-02-18 10:36:01 +00:00
74db777d64 Revert of Remove GetTransport() from TransportChannelImpl (patchset #3 id:40001 of https://codereview.webrtc.org/1691673002/ )
Reason for revert:
This CL is breaking a lot of FYI bots.
The specific change that breaks bots is the removal of a constructor parameter.

See, for example: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/3572/steps/compile/logs/stdio

Original issue's description:
> 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=
>
> Committed: https://crrev.com/ee18220ddd783fad9812f1c1c195bf187a631c3a
> Cr-Commit-Position: refs/heads/master@{#11662}

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

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

Cr-Commit-Position: refs/heads/master@{#11665}
2016-02-18 09:57:56 +00:00
59c634b605 Re-add RemoteBitrateEstimator::GetStats.
Will be kept around until implementations have been updated.

This fixes build issues in dependent code caused by removing GetStats in 62a5ccdb53

R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11664}
2016-02-18 09:14:55 +00:00
32348192cc Fix and simplify the power estimation in the IntelligibilityEnhancer
R=henrik.lundin@webrtc.org, turaj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11663}
2016-02-18 04:04:25 +00:00
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