514 Commits

Author SHA1 Message Date
minyue
f032e4041c Revert "Prefer external video codecs over internal in SDP"
This reverts commit 06f3aae345854ba9dcc5ae3b603de1f86505acf9.

The reason for reverting is that it seems to break Chromium importer. See https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28K%20Nexus5%29/builds/17862

BUG=None

TBR=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2982053002
Cr-Commit-Position: refs/heads/master@{#19058}
2017-07-17 15:45:17 +00:00
zstein
e76bd3aa43 Adding stats that can be used to compute output audio levels as described here https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats-totalaudioenergy.
BUG=webrtc:7982

Review-Url: https://codereview.webrtc.org/2964593002
Cr-Commit-Position: refs/heads/master@{#19027}
2017-07-14 19:17:49 +00:00
magjed
06f3aae345 Prefer external video codecs over internal in SDP
Currently, when we generate the list of supported video codecs that will
be signaled in SDP, we start with the internal video codecs and then
append the external video codecs. When we create a video encoder for a
given codec, we prefer an external encoder over an internal encoder.

This CL lists the external video codecs first in SDP instead, so that we
consistently prefer external video codecs over internal.

The reason for doing this is that we will otherwise prefer an internal
SW H264 encoder over an external HW H264 encoder if the H264 profiles
differs.

BUG=chromium:688541

Review-Url: https://codereview.webrtc.org/2974383002
Cr-Commit-Position: refs/heads/master@{#19026}
2017-07-14 17:36:23 +00:00
magjed
6cc25614a9 Remove webrtc::VideoEncoderFactory
Replace the use of webrtc::VideoEncoderFactory with
cricket::WebRtcVideoEncoderFactory and remove the adapter classes
between these two factory types.

Some code changes were necessary in order to accomplish this:
 * Move SimulcastEncoderAdapter from
   webrtc/modules/video_coding/codecs/vp8 to webrtc/media/engine (that's
   where it's used).
 * Rename simulcast_unittest.h to simulcast_test_utility.h and make it
   into it's own target, because it's used from both
   simulcast_unittest.cc and simulcast_encoder_adapter_unittest.cc.
 * Remove ownership of the encoder factory from SimulcastEncoderAdapter,
   and make the necessary changes in surrounding code.

The goal with this CL is to clean up the code, and also to free up
the name webrtc::VideoEncoderFactory for future use.

BUG=webrtc:7925

Review-Url: https://codereview.webrtc.org/2964953002
Cr-Commit-Position: refs/heads/master@{#18945}
2017-07-10 10:26:36 +00:00
peah
e67bedbac3 External APM usage downstream dependency support cleanup
This CL removes code that supported the now removed
downstream dependencies in the support for using an
external audio processing module.

BUG=webrtc:7939

Review-Url: https://codereview.webrtc.org/2969213002
Cr-Commit-Position: refs/heads/master@{#18929}
2017-07-07 11:25:11 +00:00
ilnik
f04afde85a Report interframe delay sum in old GetStats
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2965033002
Cr-Commit-Position: refs/heads/master@{#18924}
2017-07-07 08:26:24 +00:00
Edward Lemur
c20978e581 Rename webrtc/base -> webrtc/rtc_base
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.
NOTRY=True
NOTREECHECKS=True
TBR=kwiberg@webrtc.org, kjellander@webrtc.org

Bug: webrtc:7634
Change-Id: I3cca0fbaa807b563c95979cccd6d1bec32055f36
Reviewed-on: https://chromium-review.googlesource.com/562156
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18919}
2017-07-06 19:11:40 +00:00
sprang
02569adfd4 Update screen simulcast config
Lower then bitrate so that the delta between the highest layer of the
lower stream and lowest layer of the higher stream is not too large.

BUG=webrtc:4172

This is a reland of the following CL:

Review-Url: https://codereview.webrtc.org/2791273002
Cr-Commit-Position: refs/heads/master@{#18232}
Committed: dceb42da3e

https: //codereview.webrtc.org/2883963002
Review-Url: https://codereview.webrtc.org/2966833002
Cr-Commit-Position: refs/heads/master@{#18913}
2017-07-06 12:05:50 +00:00
ilnik
2edc6845ac Report timing frames info in GetStats.
Some frames are already marked as 'timing frames' via video-timing RTP header extension. Timestamps along full WebRTC pipeline are gathered for these frames. This CL implements reporting of these timestamps for a single
timing frame since the last GetStats(). The frame with the longest end-to-end delay between two consecutive GetStats calls is reported.

The purpose of this timing information is not to provide a realtime statistics but to provide debugging information as it will help identify problematic places in video pipeline for outliers (frames which took longest to process).

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2946413002
Cr-Commit-Position: refs/heads/master@{#18909}
2017-07-06 10:06:50 +00:00
Henrik Kjellander
a80c16a67c Revert "Update includes for webrtc/{base => rtc_base} rename (2/3)"
This reverts commit c3771cc4d37f5573fe53b7c7cff295a4f0f9560f.
(breaks downstream internal project)

BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2972463002 .
Cr-Commit-Position: refs/heads/master@{#18873}
2017-07-01 14:48:18 +00:00
kjellander
c3771cc4d3 Update includes for webrtc/{base => rtc_base} rename (2/3)
I used a command like this to update the paths:
perl -pi -e "s/webrtc\/base/webrtc\/rtc_base/g" `find webrtc/rtc_base -name "*.cc" -o -name "*.h"`

BUG=webrtc:7634
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.

Review-Url: https://codereview.webrtc.org/2969623003
Cr-Commit-Position: refs/heads/master@{#18870}
2017-06-30 20:42:44 +00:00
jbauch
5869f50f7a Support encrypted RTP extensions (RFC 6904)
Can be enabled by setting "enable_encrypted_rtp_header_extensions" in
"crypto_options" of "PeerConnectionFactoryInterface::Options" and will
only be used if both peers support it.

BUG=webrtc:3411

Review-Url: https://codereview.webrtc.org/2761143002
Cr-Commit-Position: refs/heads/master@{#18842}
2017-06-29 19:31:36 +00:00
peah
a9cc40b7d2 Allow an external audio processing module to be used in WebRTC
[This CL is a rebase of an original CL by solenberg@:
https://codereview.webrtc.org/2948763002/ which in turn was a
rebase of an original CL by peah@:
https://chromium-review.googlesource.com/c/527032/]

Allow an external audio processing module to be used in WebRTC

This CL adds support for optionally using an externally created audio
processing module in a peerconnection. The ownership is shared
between the peerconnection and the external creator of the module.

As part of this the internal ownership of the audio processing module
is moved from VoiceEngine to WebRtcVoiceEngine.

BUG=webrtc:7775

Review-Url: https://codereview.webrtc.org/2961723004
Cr-Commit-Position: refs/heads/master@{#18837}
2017-06-29 15:32:09 +00:00
sprang
4847ae6b51 Reland of Periodically update codec bit/frame rate settings.
Patch set 1 is a reland + trivial rebase.
Patch set >= 2 contains bug fixes.

> Original issue's description:
> > Fix bug in vie_encoder.cc which caused channel parameters not to be updated at regular intervals, as it was intended.
> >
> > That however exposes a bunch of failed test, so this CL also fixed a few other things:
> > * FakeEncoder should trust the configured FPS value rather than guesstimating itself based on the realtime clock, so as not to completely undershoot targets in offline mode. Also, compensate for key-frame overshoots when outputting delta frames.
> > * FrameDropper should not assuming incoming frame rate is 0 if no frames have been seen.
> > * Fix a bunch of test cases that started failing because they were relying on the fake encoder undershooting.
> > * Fix test
> >
> > BUG=7664
> >
> > Review-Url: https://codereview.webrtc.org/2883963002
> > Cr-Commit-Position: refs/heads/master@{#18473}
> > Committed: 6431e21da6

BUG=webrtc:7664

Review-Url: https://codereview.webrtc.org/2953053002
Cr-Commit-Position: refs/heads/master@{#18782}
2017-06-27 14:06:52 +00:00
oprypin
451975206a Enable more unittests on iOS, and disable those that fail on simulator
Tests enabled:
* modules_unittests
* ortc_unittests
* rtc_media_unittests
* rtc_unittests
* video_capture_tests
* video_engine_tests

BUG=webrtc:5566,webrtc:4752,webrtc:5568,webrtc:5569

Review-Url: https://codereview.webrtc.org/2938193002
Cr-Commit-Position: refs/heads/master@{#18710}
2017-06-22 08:47:20 +00:00
ilnik
04f4d126f8 Implement timing frames.
Timing information is gathered in EncodedImage,
starting at encoders. Then it's sent using RTP header extension. In the
end, it's gathered at the GenericDecoder. Actual reporting and tests
will be in the next CLs.

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2911193002
Cr-Commit-Position: refs/heads/master@{#18659}
2017-06-19 14:18:55 +00:00
ilnik
6b826ef66d Add cropping to VIEEncoder to match simulcast streams resolution
Detect when simulcaststreamfactory adjust resolution and remeber cropping
parameters in VIEEncoder.
Expose EncoderStreamFactory in webrtcvideoengine2.

BUG=webrtc:7375, webrtc:6958

Review-Url: https://codereview.webrtc.org/2936393002
Cr-Commit-Position: refs/heads/master@{#18632}
2017-06-16 13:53:48 +00:00
zhihuang
38ede13042 Support building WebRTC without audio and video.
This CL makes the WebRTC more modular and allows the users to build
WebRTC without audio and video(DataChannel only).

The BUILD files in call/, logging/, media/ and pc/ are modified to
support modular WebRTC.

The dependencies on Call and RtcEventLog are removed from the
PeerConnection. Instead of being created internally, they would be
passed in by the PeerConnectionFactory.

Add the CreateModularPeerConnectionFactory function which allow the
users to create a PeerConnectionFactory with the modules they need.
If the users want to build WebRTC without audio and video, they can
pass in null pointers for modules they don't need. (MediaEngine,
VideoEncoderFactory etc.)

BUG=webrtc:7613

Review-Url: https://codereview.webrtc.org/2854123003
Cr-Commit-Position: refs/heads/master@{#18617}
2017-06-15 19:52:32 +00:00
deadbeef
eb02c03a53 Allow WebRtcMediaEngine to be created from any thread.
This eliminates a thread hop in PeerConnectionFactory initialization,
and will allow some code to be simplified.

BUG=None

Review-Url: https://codereview.webrtc.org/2934103002
Cr-Commit-Position: refs/heads/master@{#18613}
2017-06-15 15:29:25 +00:00
sprang
67561a6411 Use the same QP max for tests as in production
BUG=webrtc:7664

Review-Url: https://codereview.webrtc.org/2941023002
Cr-Commit-Position: refs/heads/master@{#18611}
2017-06-15 13:34:42 +00:00
zstein
a5e0df6438 Move MinPositive to call.h as discussed here: https://codereview.chromium.org/2888303005/#msg19
TBR=stefan@webrtc.org
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2924393002
Cr-Commit-Position: refs/heads/master@{#18599}
2017-06-14 18:41:48 +00:00
Magnus Jedvert
7a721e84f8 Update webrtc/media and webrtc/modules to new VideoFrameBuffer interface
TBR=stefan

Bug: webrtc:7632
Change-Id: Ifdaf4a591061595a53f677441baad85820336b34
Reviewed-on: https://chromium-review.googlesource.com/530844
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18591}
2017-06-14 13:46:38 +00:00
asapersson
3c81a1afd8 Add field trial for balanced degradation preference.
BUG=webrtc:7607

Review-Url: https://codereview.webrtc.org/2923563002
Cr-Commit-Position: refs/heads/master@{#18589}
2017-06-14 12:52:21 +00:00
eladalon
29860331f1 Remove webrtcvideoengine2.h
BUG=None

Review-Url: https://codereview.webrtc.org/2937673002
Cr-Commit-Position: refs/heads/master@{#18566}
2017-06-13 14:28:31 +00:00
solenberg
418b7d34d1 Increase number of unsignaled audio streams we handle to 4.
BUG=webrtc:7179 b/34746131

Review-Url: https://codereview.webrtc.org/2900713002
Cr-Commit-Position: refs/heads/master@{#18551}
2017-06-13 07:38:27 +00:00
eladalon
f184138a5f s/WebRtcVideoChannel2/WebRtcVideoChannel and s/WebRtcVideoEngine2/WebRtcVideoEngine
WebRtcVideoChannel and and WebRtcVideoEngine seem to have been removed, and only WebRtcVideoChannel2 and WebRtcVideoEngine2 remain, which removes the need for the "2" postfix.

BUG=None

Review-Url: https://codereview.webrtc.org/2932073002
Cr-Commit-Position: refs/heads/master@{#18531}
2017-06-12 08:16:46 +00:00
sprang
317005a03b Revert of Periodically update codec bit/frame rate settings. (patchset #2 id:160001 of https://codereview.webrtc.org/2924023002/ )
Reason for revert:
Looks like there's still one failing perf test:
RampUpTest.UpDownUpTransportSequenceNumberPacketLoss

Original issue's description:
> Reland of Periodically update codec bit/frame rate settings. (patchset #1 id:1 of https://codereview.webrtc.org/2923993002/ )
>
> Reason for revert:
> Create reland cl that we can patch with fix.
>
> Original issue's description:
> > Revert of Periodically update codec bit/frame rate settings. (patchset #8 id:140001 of https://codereview.webrtc.org/2883963002/ )
> >
> > Reason for revert:
> > Breaks some Call perf tests that are not run by the try bots....
> >
> > Original issue's description:
> > > Fix bug in vie_encoder.cc which caused channel parameters not to be updated at regular intervals, as it was intended.
> > >
> > > That however exposes a bunch of failed test, so this CL also fixed a few other things:
> > > * FakeEncoder should trust the configured FPS value rather than guesstimating itself based on the realtime clock, so as not to completely undershoot targets in offline mode. Also, compensate for key-frame overshoots when outputting delta frames.
> > > * FrameDropper should not assuming incoming frame rate is 0 if no frames have been seen.
> > > * Fix a bunch of test cases that started failing because they were relying on the fake encoder undershooting.
> > > * Fix test
> > >
> > > BUG=7664
> > >
> > > Review-Url: https://codereview.webrtc.org/2883963002
> > > Cr-Commit-Position: refs/heads/master@{#18473}
> > > Committed: 6431e21da6
> >
> > TBR=stefan@webrtc.org,holmer@google.com
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=7664
> >
> > Review-Url: https://codereview.webrtc.org/2923993002
> > Cr-Commit-Position: refs/heads/master@{#18475}
> > Committed: 5390c4814d
>
> TBR=stefan@webrtc.org,holmer@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=7664
>
> Review-Url: https://codereview.webrtc.org/2924023002
> Cr-Commit-Position: refs/heads/master@{#18497}
> Committed: cdafeda1cb

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

Review-Url: https://codereview.webrtc.org/2926283002
Cr-Commit-Position: refs/heads/master@{#18500}
2017-06-08 14:12:17 +00:00
sprang
cdafeda1cb Reland of Periodically update codec bit/frame rate settings. (patchset #1 id:1 of https://codereview.webrtc.org/2923993002/ )
Reason for revert:
Create reland cl that we can patch with fix.

Original issue's description:
> Revert of Periodically update codec bit/frame rate settings. (patchset #8 id:140001 of https://codereview.webrtc.org/2883963002/ )
>
> Reason for revert:
> Breaks some Call perf tests that are not run by the try bots....
>
> Original issue's description:
> > Fix bug in vie_encoder.cc which caused channel parameters not to be updated at regular intervals, as it was intended.
> >
> > That however exposes a bunch of failed test, so this CL also fixed a few other things:
> > * FakeEncoder should trust the configured FPS value rather than guesstimating itself based on the realtime clock, so as not to completely undershoot targets in offline mode. Also, compensate for key-frame overshoots when outputting delta frames.
> > * FrameDropper should not assuming incoming frame rate is 0 if no frames have been seen.
> > * Fix a bunch of test cases that started failing because they were relying on the fake encoder undershooting.
> > * Fix test
> >
> > BUG=7664
> >
> > Review-Url: https://codereview.webrtc.org/2883963002
> > Cr-Commit-Position: refs/heads/master@{#18473}
> > Committed: 6431e21da6
>
> TBR=stefan@webrtc.org,holmer@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=7664
>
> Review-Url: https://codereview.webrtc.org/2923993002
> Cr-Commit-Position: refs/heads/master@{#18475}
> Committed: 5390c4814d

TBR=stefan@webrtc.org,holmer@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=7664

Review-Url: https://codereview.webrtc.org/2924023002
Cr-Commit-Position: refs/heads/master@{#18497}
2017-06-08 13:12:05 +00:00
sprang
5390c4814d Revert of Periodically update codec bit/frame rate settings. (patchset #8 id:140001 of https://codereview.webrtc.org/2883963002/ )
Reason for revert:
Breaks some Call perf tests that are not run by the try bots....

Original issue's description:
> Fix bug in vie_encoder.cc which caused channel parameters not to be updated at regular intervals, as it was intended.
>
> That however exposes a bunch of failed test, so this CL also fixed a few other things:
> * FakeEncoder should trust the configured FPS value rather than guesstimating itself based on the realtime clock, so as not to completely undershoot targets in offline mode. Also, compensate for key-frame overshoots when outputting delta frames.
> * FrameDropper should not assuming incoming frame rate is 0 if no frames have been seen.
> * Fix a bunch of test cases that started failing because they were relying on the fake encoder undershooting.
> * Fix test
>
> BUG=7664
>
> Review-Url: https://codereview.webrtc.org/2883963002
> Cr-Commit-Position: refs/heads/master@{#18473}
> Committed: 6431e21da6

TBR=stefan@webrtc.org,holmer@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=7664

Review-Url: https://codereview.webrtc.org/2923993002
Cr-Commit-Position: refs/heads/master@{#18475}
2017-06-07 13:17:49 +00:00
sprang
6431e21da6 Fix bug in vie_encoder.cc which caused channel parameters not to be updated at regular intervals, as it was intended.
That however exposes a bunch of failed test, so this CL also fixed a few other things:
* FakeEncoder should trust the configured FPS value rather than guesstimating itself based on the realtime clock, so as not to completely undershoot targets in offline mode. Also, compensate for key-frame overshoots when outputting delta frames.
* FrameDropper should not assuming incoming frame rate is 0 if no frames have been seen.
* Fix a bunch of test cases that started failing because they were relying on the fake encoder undershooting.
* Fix test

BUG=7664

Review-Url: https://codereview.webrtc.org/2883963002
Cr-Commit-Position: refs/heads/master@{#18473}
2017-06-07 11:59:38 +00:00
asapersson
1e15a994ac MediaCodecVideoEncoder: Add QP stats to Encoded callback for VP9 and turn on quality scaling.
Add default QP scaling thresholds for VP9.

BUG=webrtc:7662

Review-Url: https://codereview.webrtc.org/2914363002
Cr-Commit-Position: refs/heads/master@{#18469}
2017-06-07 11:09:45 +00:00
zstein
4b9798024f Relanding: Adds PeerConnectionInterface::UpdateCallBitrate to give clients more control of the bandwidth estimator. PeerConnection implements this method by passing a BitrateConfigMask to its associated Call, which is combined with the existing BitrateConfig and passed on to the SendSideCongestionController as necessary. The existing BitrateConfig generally comes from the x-google-{min,start,max}-bitrate params in the SDP.
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2888303005
Cr-Original-Commit-Position: refs/heads/master@{#18417}
Committed: 9641c13327
Review-Url: https://codereview.webrtc.org/2888303005
Cr-Commit-Position: refs/heads/master@{#18421}
2017-06-02 21:37:37 +00:00
charujain
441718ef69 Revert of Add PeerConnectionInterface::UpdateCallBitrate. (patchset #7 id:120001 of https://codereview.webrtc.org/2888303005/ )
Reason for revert:
Broken downstream project.

Original issue's description:
> Adds PeerConnectionInterface::UpdateCallBitrate to give clients more control of the bandwidth estimator. PeerConnection implements this method by passing a BitrateConfigMask to its associated Call, which is combined with the existing BitrateConfig and passed on to the SendSideCongestionController as necessary. The existing BitrateConfig generally comes from the x-google-{min,start,max}-bitrate params in the SDP.
>
> BUG=webrtc:7395
>
> Review-Url: https://codereview.webrtc.org/2888303005
> Cr-Commit-Position: refs/heads/master@{#18417}
> Committed: 9641c13327

TBR=deadbeef@webrtc.org,stefan@webrtc.org,kwiberg@webrtc.org,solenberg@webrtc.org,holmer@google.com,zstein@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2914413002
Cr-Commit-Position: refs/heads/master@{#18420}
2017-06-02 19:31:24 +00:00
zstein
9641c13327 Adds PeerConnectionInterface::UpdateCallBitrate to give clients more control of the bandwidth estimator. PeerConnection implements this method by passing a BitrateConfigMask to its associated Call, which is combined with the existing BitrateConfig and passed on to the SendSideCongestionController as necessary. The existing BitrateConfig generally comes from the x-google-{min,start,max}-bitrate params in the SDP.
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2888303005
Cr-Commit-Position: refs/heads/master@{#18417}
2017-06-02 18:18:06 +00:00
stefan
f79ade1320 Revert "Revert of Wire up BWE stats through WebrtcSession so that they are filled in both for audio and video calls. (patchset #8 id:140001 of https://codereview.webrtc.org/2863123002/ )"
This reverts commit d72098a41971833e210bfdcffaab7a18ced4775f.

BUG=webrtc:5079

Review-Url: https://codereview.webrtc.org/2915263002
Cr-Commit-Position: refs/heads/master@{#18411}
2017-06-02 13:44:03 +00:00
charujain
d72098a419 Revert of Wire up BWE stats through WebrtcSession so that they are filled in both for audio and video calls. (patchset #8 id:140001 of https://codereview.webrtc.org/2863123002/ )
Reason for revert:
Broken downstream projects

Original issue's description:
> Wire up BWE stats through WebrtcSession so that they are filled in both for audio and video calls.
>
> Prior to this CL Call::Stats were collected via WebRtcVideoEngine2, but not via WebRtcVoiceEngine, causing these stats to be missing for audio-only calls. Call lives on the peerconnection/session level and should only be collected once independent on how many streams we have.
>
> BUG=webrtc:5079
> R=deadbeef@webrtc.org, hbos@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2863123002 .
> Cr-Commit-Position: refs/heads/master@{#18384}
> Committed: e80f4c91d0

TBR=hbos@webrtc.org,deadbeef@webrtc.org,holmer@google.com,stefan@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5079

Review-Url: https://codereview.webrtc.org/2916793003
Cr-Commit-Position: refs/heads/master@{#18386}
2017-06-01 15:54:47 +00:00
Stefan Holmer
e80f4c91d0 Wire up BWE stats through WebrtcSession so that they are filled in both for audio and video calls.
Prior to this CL Call::Stats were collected via WebRtcVideoEngine2, but not via WebRtcVoiceEngine, causing these stats to be missing for audio-only calls. Call lives on the peerconnection/session level and should only be collected once independent on how many streams we have.

BUG=webrtc:5079
R=deadbeef@webrtc.org, hbos@webrtc.org

Review-Url: https://codereview.webrtc.org/2863123002 .
Cr-Commit-Position: refs/heads/master@{#18384}
2017-06-01 14:29:30 +00:00
brandtr
11fb472ae4 Recreate FlexfecReceiveStream separately from VideoReceiveStream.
After this CL, reconfiguring the FlexFEC payload type at the
WebRtcVideoChannel2 level will no longer lead to the recreation of
the VideoReceiveStream. This means that the jitter buffer will
not be destroyed and a smoother video playback is achieved during
SDP renegotiation.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2911913002
Cr-Commit-Position: refs/heads/master@{#18318}
2017-05-30 08:31:37 +00:00
brandtr
0dc57eabf6 Avoid toggling default receive streams in WebRtcVideoChannel2.
This CL removes |default_recv_ssrc_| from DefaultUnsignalledSsrcHandler
and replaces it with calls to a new member function
WebRtcVideoChannel2::GetDefaultReceiveStreamSsrc. The latter checks
the |default_stream_| member on the
WebRtcVideoChannel2::WebRtcVideoReceiveStreams to know which stream
is the current default stream.

This change removes duplicate state and fixes an issue where
incoming unsignaled SSRCs would compete for being the default
receive stream.

BUG=webrtc:7725

Review-Url: https://codereview.webrtc.org/2906893002
Cr-Commit-Position: refs/heads/master@{#18314}
2017-05-30 06:33:31 +00:00
aleloi
048cbdda0d Reland of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2910633002/ )
Reason for revert:
Revert of revert of revert of revert of 'Activating..'. Or "reland of reland of 'Activate..'".

*Now* the internal projects are fixed and the fix is verified.

Original issue's description:
> Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2903153005/ )
>
> Reason for revert:
> Reverting again: internal project issues were apparently not completely fixed.
>
> Original issue's description:
> > Reland of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2904893002/ )
> >
> > Reason for revert:
> > Revert the revert now that internal projects are updated.
> >
> > Original issue's description:
> > > Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #4 id:160001 of https://codereview.webrtc.org/2896813002/ )
> > >
> > > Reason for revert:
> > > Breaks internal project.
> > >
> > > Original issue's description:
> > > > Activate 'offload debug dump recordings from audio thread to TaskQueue'.
> > > >
> > > > A low priority task queue is added to WebRTCVoiceEngine. The
> > > > start/stop debug calls make file logging happen on the task queue.
> > > >
> > > > In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
> > > > so that it can be shared for low priority tasks between different
> > > > subcomponents. It will require some changes to MediaEngine,
> > > > CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
> > > > projects.
> > > >
> > > > A task queue must be created and destroyed from the same thread. With
> > > > this CL that will be the worker thread, which creates and destroys
> > > > WebRTCVoiceEngine. With the dependent CL, it will probably change to
> > > > the signaling thread.
> > > >
> > > > NOTRY=True # tests just passed
> > > >
> > > > BUG=webrtc:7404
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2896813002
> > > > Cr-Commit-Position: refs/heads/master@{#18252}
> > > > Committed: c61bf947b4
> > >
> > > TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:7404
> > >
> > > Review-Url: https://codereview.webrtc.org/2904893002
> > > Cr-Commit-Position: refs/heads/master@{#18255}
> > > Committed: be68b72cfa
> >
> > TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:7404
> >
> > Review-Url: https://codereview.webrtc.org/2903153005
> > Cr-Commit-Position: refs/heads/master@{#18270}
> > Committed: d2303a2338
>
> TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7404
>
> Review-Url: https://codereview.webrtc.org/2910633002
> Cr-Commit-Position: refs/heads/master@{#18272}
> Committed: fe9ecb07ea

TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7404

Review-Url: https://codereview.webrtc.org/2904423002
Cr-Commit-Position: refs/heads/master@{#18300}
2017-05-29 09:56:27 +00:00
aleloi
fe9ecb07ea Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2903153005/ )
Reason for revert:
Reverting again: internal project issues were apparently not completely fixed.

Original issue's description:
> Reland of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2904893002/ )
>
> Reason for revert:
> Revert the revert now that internal projects are updated.
>
> Original issue's description:
> > Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #4 id:160001 of https://codereview.webrtc.org/2896813002/ )
> >
> > Reason for revert:
> > Breaks internal project.
> >
> > Original issue's description:
> > > Activate 'offload debug dump recordings from audio thread to TaskQueue'.
> > >
> > > A low priority task queue is added to WebRTCVoiceEngine. The
> > > start/stop debug calls make file logging happen on the task queue.
> > >
> > > In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
> > > so that it can be shared for low priority tasks between different
> > > subcomponents. It will require some changes to MediaEngine,
> > > CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
> > > projects.
> > >
> > > A task queue must be created and destroyed from the same thread. With
> > > this CL that will be the worker thread, which creates and destroys
> > > WebRTCVoiceEngine. With the dependent CL, it will probably change to
> > > the signaling thread.
> > >
> > > NOTRY=True # tests just passed
> > >
> > > BUG=webrtc:7404
> > >
> > > Review-Url: https://codereview.webrtc.org/2896813002
> > > Cr-Commit-Position: refs/heads/master@{#18252}
> > > Committed: c61bf947b4
> >
> > TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7404
> >
> > Review-Url: https://codereview.webrtc.org/2904893002
> > Cr-Commit-Position: refs/heads/master@{#18255}
> > Committed: be68b72cfa
>
> TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:7404
>
> Review-Url: https://codereview.webrtc.org/2903153005
> Cr-Commit-Position: refs/heads/master@{#18270}
> Committed: d2303a2338

TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7404

Review-Url: https://codereview.webrtc.org/2910633002
Cr-Commit-Position: refs/heads/master@{#18272}
2017-05-26 12:46:34 +00:00
aleloi
d2303a2338 Reland of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #1 id:1 of https://codereview.webrtc.org/2904893002/ )
Reason for revert:
Revert the revert now that internal projects are updated.

Original issue's description:
> Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #4 id:160001 of https://codereview.webrtc.org/2896813002/ )
>
> Reason for revert:
> Breaks internal project.
>
> Original issue's description:
> > Activate 'offload debug dump recordings from audio thread to TaskQueue'.
> >
> > A low priority task queue is added to WebRTCVoiceEngine. The
> > start/stop debug calls make file logging happen on the task queue.
> >
> > In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
> > so that it can be shared for low priority tasks between different
> > subcomponents. It will require some changes to MediaEngine,
> > CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
> > projects.
> >
> > A task queue must be created and destroyed from the same thread. With
> > this CL that will be the worker thread, which creates and destroys
> > WebRTCVoiceEngine. With the dependent CL, it will probably change to
> > the signaling thread.
> >
> > NOTRY=True # tests just passed
> >
> > BUG=webrtc:7404
> >
> > Review-Url: https://codereview.webrtc.org/2896813002
> > Cr-Commit-Position: refs/heads/master@{#18252}
> > Committed: c61bf947b4
>
> TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7404
>
> Review-Url: https://codereview.webrtc.org/2904893002
> Cr-Commit-Position: refs/heads/master@{#18255}
> Committed: be68b72cfa

TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7404

Review-Url: https://codereview.webrtc.org/2903153005
Cr-Commit-Position: refs/heads/master@{#18270}
2017-05-26 12:13:18 +00:00
aleloi
be68b72cfa Revert of Activate 'offload debug dump recordings from audio thread to TaskQueue'. (patchset #4 id:160001 of https://codereview.webrtc.org/2896813002/ )
Reason for revert:
Breaks internal project.

Original issue's description:
> Activate 'offload debug dump recordings from audio thread to TaskQueue'.
>
> A low priority task queue is added to WebRTCVoiceEngine. The
> start/stop debug calls make file logging happen on the task queue.
>
> In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
> so that it can be shared for low priority tasks between different
> subcomponents. It will require some changes to MediaEngine,
> CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
> projects.
>
> A task queue must be created and destroyed from the same thread. With
> this CL that will be the worker thread, which creates and destroys
> WebRTCVoiceEngine. With the dependent CL, it will probably change to
> the signaling thread.
>
> NOTRY=True # tests just passed
>
> BUG=webrtc:7404
>
> Review-Url: https://codereview.webrtc.org/2896813002
> Cr-Commit-Position: refs/heads/master@{#18252}
> Committed: c61bf947b4

TBR=solenberg@webrtc.org,tommi@webrtc.org,perkj@webrtc.org,danilchap@webrtc.org,tommi@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7404

Review-Url: https://codereview.webrtc.org/2904893002
Cr-Commit-Position: refs/heads/master@{#18255}
2017-05-24 11:19:54 +00:00
aleloi
c61bf947b4 Activate 'offload debug dump recordings from audio thread to TaskQueue'.
A low priority task queue is added to WebRTCVoiceEngine. The
start/stop debug calls make file logging happen on the task queue.

In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
so that it can be shared for low priority tasks between different
subcomponents. It will require some changes to MediaEngine,
CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
projects.

A task queue must be created and destroyed from the same thread. With
this CL that will be the worker thread, which creates and destroys
WebRTCVoiceEngine. With the dependent CL, it will probably change to
the signaling thread.

NOTRY=True # tests just passed

BUG=webrtc:7404

Review-Url: https://codereview.webrtc.org/2896813002
Cr-Commit-Position: refs/heads/master@{#18252}
2017-05-24 08:47:18 +00:00
sprang
dceb42da3e Update screen simulcast config and fix periodic encoder param update
Lower then bitrate so that the delta between the highest layer of the
lower stream and lowest layer of the higher stream is not too large.

Also fix a bug in vie_encoder where the codec was not perioducally
updated unless a new bitrate estimate was triggered.

BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2791273002
Cr-Commit-Position: refs/heads/master@{#18232}
2017-05-23 13:45:08 +00:00
peah
8a8ebd94b0 Field trial support to whenever possible turn off the AGC and HPF
When operating on mobile devices, where hardware support is available
for the AEC and NS functionality, it is desirable to be able to
operate without hardcoded behaviors for the WebRTC AGC and HPF.

This CL adds support to allow a field trial to turn these off
whenever that is possible.

BUG=webrtc:6220, webrtc:6183, webrtc:6181

Review-Url: https://codereview.webrtc.org/2876133002
Cr-Commit-Position: refs/heads/master@{#18226}
2017-05-22 22:48:47 +00:00
brandtr
31bd224f35 Reduce VideoSendStream recreations due to FlexFEC.
This CL reduces the number of VideoSendStream recreations during SDP
renegotiation by checking the FlexFEC field trials before, and not after,
the SDP codec diffing logic.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2882433003
Cr-Commit-Position: refs/heads/master@{#18211}
2017-05-19 12:47:46 +00:00
magjed
c1a8974ebd WebRtcVideoEncoderFactory cleanup
Remove some deprecated functions.

BUG=webrtc:6402

Review-Url: https://codereview.webrtc.org/2859223003
Cr-Commit-Position: refs/heads/master@{#18116}
2017-05-12 07:24:40 +00:00
nisse
f93752a2ee Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2853383005/ )
Reason for revert:
Downstream projects have been fixed.

Original issue's description:
> Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854873003/ )
>
> Reason for revert:
> More downstream breakage discovered.
>
> Original issue's description:
> > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854883002/ )
> >
> > Reason for revert:
> > Will make another attempt to track down and fix downstream projects.
> >
> > Original issue's description:
> > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
> > >
> > > Reason for revert:
> > > Unfortunately, more downstream updates needed.
> > >
> > > Original issue's description:
> > > > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
> > > >
> > > > Reason for revert:
> > > > Downstream projects being updated.
> > > >
> > > > For Chrome, relanding depends on cl
> > > > https://codereview.chromium.org/2855783003/
> > > >
> > > > Original issue's description:
> > > > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> > > > >
> > > > > Reason for revert:
> > > > > Broke Chrome build, see, e.g.,
> > > > > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> > > > >
> > > > > Original issue's description:
> > > > > > Delete deprecated and transitional stuff related to video frame refactoring.
> > > > > >
> > > > > > BUG=webrtc:5880
> > > > > >
> > > > > > Review-Url: https://codereview.webrtc.org/2622263002
> > > > > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > > > > Committed: 713a3bbcc7
> > > > >
> > > > > TBR=mflodman@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:5880
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2845333002
> > > > > Cr-Commit-Position: refs/heads/master@{#17929}
> > > > > Committed: aec49d2b49
> > > >
> > > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > > BUG=webrtc:5880
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2852303002
> > > > Cr-Commit-Position: refs/heads/master@{#17974}
> > > > Committed: d71ebd70f6
> > >
> > > TBR=mflodman@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:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2854883002
> > > Cr-Commit-Position: refs/heads/master@{#17978}
> > > Committed: 6e6a485a02
> >
> > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> >
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2854873003
> > Cr-Commit-Position: refs/heads/master@{#18006}
> > Committed: 3870a071c4
>
> TBR=mflodman@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:5880
>
> Review-Url: https://codereview.webrtc.org/2853383005
> Cr-Commit-Position: refs/heads/master@{#18008}
> Committed: 61b22dde13

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

Review-Url: https://codereview.webrtc.org/2867703002
Cr-Commit-Position: refs/heads/master@{#18081}
2017-05-10 12:25:59 +00:00
nisse
61b22dde13 Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854873003/ )
Reason for revert:
More downstream breakage discovered.

Original issue's description:
> Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854883002/ )
>
> Reason for revert:
> Will make another attempt to track down and fix downstream projects.
>
> Original issue's description:
> > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
> >
> > Reason for revert:
> > Unfortunately, more downstream updates needed.
> >
> > Original issue's description:
> > > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
> > >
> > > Reason for revert:
> > > Downstream projects being updated.
> > >
> > > For Chrome, relanding depends on cl
> > > https://codereview.chromium.org/2855783003/
> > >
> > > Original issue's description:
> > > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> > > >
> > > > Reason for revert:
> > > > Broke Chrome build, see, e.g.,
> > > > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> > > >
> > > > Original issue's description:
> > > > > Delete deprecated and transitional stuff related to video frame refactoring.
> > > > >
> > > > > BUG=webrtc:5880
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2622263002
> > > > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > > > Committed: 713a3bbcc7
> > > >
> > > > TBR=mflodman@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:5880
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2845333002
> > > > Cr-Commit-Position: refs/heads/master@{#17929}
> > > > Committed: aec49d2b49
> > >
> > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > BUG=webrtc:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2852303002
> > > Cr-Commit-Position: refs/heads/master@{#17974}
> > > Committed: d71ebd70f6
> >
> > TBR=mflodman@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:5880
> >
> > Review-Url: https://codereview.webrtc.org/2854883002
> > Cr-Commit-Position: refs/heads/master@{#17978}
> > Committed: 6e6a485a02
>
> TBR=mflodman@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
>
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2854873003
> Cr-Commit-Position: refs/heads/master@{#18006}
> Committed: 3870a071c4

TBR=mflodman@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:5880

Review-Url: https://codereview.webrtc.org/2853383005
Cr-Commit-Position: refs/heads/master@{#18008}
2017-05-04 09:11:12 +00:00