Commit Graph

4101 Commits

Author SHA1 Message Date
0332c2db39 Added support in the AEC for refined filter adaptation.
The following algorithmic functionality was added:
-Add support for an exact regressor power to be computed
 which avoids the issue with the updating of the filter
 sometimes being unstable.
-Lowered the fixed step size of the adaptive filter to 0.05
 which significantly reduces the sensitivity of the
 adaptive filter to near-end noise, nonlinearities,
 doubletalk and the unmodelled echo path tail. It also
 reduces the tracking speed of the adaptive filter but the
 chosen value proved to give a sufficient tradeoff for the
 requirements on the adaptive filter.

To allow the new functionality to be selectively applied the following was done:
-A new Config was added for selectively activating the functionality.
-Functionality was added in the audioprocessing  and echocancellationimpl classes
 for passing the activation of the functionality down to the AEC algorithms.

To make the code for the introduction of the functionality clean,
the following refactoring was done:
-The selection of the step size was moved to a single place.
-The constant for the step size of the adaptive filter in extended filter mode was
 made local.
-The state variable storing the step-size was renamed to a more describing name.

When the new functionality is not activated, the changes
have been tested for bitexactness on Linux.

TBR=minyue@webrtc.org
BUG=webrtc:5778, webrtc:5777

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

Cr-Commit-Position: refs/heads/master@{#12384}
2016-04-15 18:23:36 +00:00
Per
83d0910694 Move Ownership of RtpModules to VideoSendStream from VieChannel and remove use of vie_channel and vie_receiver from video_send_stream.
The purpose of this refactoring is a first step of separating the encoder parts from the RTP transport.

BUG=webrtc:5687
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12377}
2016-04-15 12:59:21 +00:00
6ca0a31708 We no longer use compilers that can't =default move construction and assignment
Review URL: https://codereview.webrtc.org/1891483006

Cr-Commit-Position: refs/heads/master@{#12376}
2016-04-15 12:25:03 +00:00
26acec4772 Delete method webrtc::VideoFrame::native_handle.
Instead, use the corresponding method on VideoFrameBuffer. In the process,
reduce code duplication in frame comparison functions used in
the test code.

Make FramesEqual use FrameBufsEqual. Make the latter support texture frames.

The cl also refactors VideoFrame::CopyFrame to use I420Buffer::Copy. This
has possibly undesired side effects of never reusing the frame buffer of
the destination frame, and producing a frame buffer which may use different
stride than the source frame.

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12373}
2016-04-15 10:43:45 +00:00
3911c26bc0 Add support for writing raw encoder output to .ivf files.
Also refactor GenericEncoder to use these file writers, and remove use
of preprocessor to enable file writing.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12372}
2016-04-15 08:24:21 +00:00
7789fe7ab1 Added a protobuf field for the audio processing module to store the status of temporary experimental features that
are active in the module and its submodules.

BUG=webrtc:5778, webrtc:5777

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

Cr-Commit-Position: refs/heads/master@{#12371}
2016-04-15 08:19:47 +00:00
1112b2bc68 Fix bug when the BWE times out due to no incoming packets.
Both InterArrival and OveruseEstimator should be timed out at the same time since otherwise the overuse filter may take a long time to converge.

BUG=webrtc:5773

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

Cr-Commit-Position: refs/heads/master@{#12364}
2016-04-14 15:08:20 +00:00
00b62b0849 Remove QualityScaler kDefaultLowQpDenominator.
This denominator doesn't make any semantic sense, it's better to use
real thresholds for when things look "good" or "bad" rather than
fractions of a max QP.

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

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

Cr-Commit-Position: refs/heads/master@{#12363}
2016-04-14 15:04:10 +00:00
926dfcdf5e Make QualityScaler not downscale below QVGA.
Applies to all platforms, not only Android now, 160x90 video looks
awful and there's no real point to going below QVGA.

BUG=webrtc:5678
R=danilchap@webrtc.org
TBR=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12362}
2016-04-14 12:48:18 +00:00
7c9426cf38 Replaced CriticalSectionWrapper with rtc::CriticalSection in rtp_rtcp module
Review URL: https://codereview.webrtc.org/1877253002

Cr-Commit-Position: refs/heads/master@{#12359}
2016-04-14 10:05:37 +00:00
91efeecab8 Remove VERBOSE logs from frame_dropper.cc.
They are way too verbose, ~100 lines of log per second.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12356}
2016-04-14 04:01:48 +00:00
d4badbcb6d Fix SetRates for encoders with internal sources.
An earlier change moved SetRates to happen on every input frame, but
encoders with internal sources don't receive input frames, so they
weren't getting updated bitrate (and framerate) signals.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12354}
2016-04-13 21:59:57 +00:00
2fae89ed0d Disable Intelligibility Enhancer for high SNRs
Review URL: https://codereview.webrtc.org/1878133002

Cr-Commit-Position: refs/heads/master@{#12352}
2016-04-13 18:24:11 +00:00
21a395ddf7 Moved the aec_rdft*.c files to be build using C++
BUG=webrtc:5298
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#12346}
2016-04-13 14:53:57 +00:00
eda7926d97 Add pbos@webrtc.org to video_coding OWNERS.
BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12345}
2016-04-13 12:59:48 +00:00
3eeb2e89b3 Moved the audioprocessing unittest to the audio_processing folder
where the other audioprocessing unittests are located.

BUG=webrtc:5298

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

Cr-Commit-Position: refs/heads/master@{#12343}
2016-04-13 11:10:09 +00:00
cbac40d321 Reland of Make QualityScaler more responsive to downgrades. (patchset #1 id:1 of https://codereview.webrtc.org/1880103002/ )
Reason for revert:
Regressed behavior is actually desirable (go down to 360p instead of producing super-bad 720p).

Original issue's description:
> Revert of Make QualityScaler more responsive to downgrades. (patchset #3 id:40001 of https://codereview.webrtc.org/1830593003/ )
>
> Reason for revert:
> Speculative revert: want to see if this causes the regression in https://crbug.com/602621
>
> Original issue's description:
> > Make QualityScaler more responsive to downgrades.
> >
> > Permits going from HD to QVGA in 6 seconds instead of 10. Also adds
> > windows for going up quickly in the beginning of a call (before any
> > downscaling happens due to bad quality).
> >
> > BUG=webrtc:5678
> > R=glaznev@webrtc.org, stefan@webrtc.org
> >
> > Committed: https://crrev.com/85829fd90cc4e7a91c9857921b19e8fc126aeb60
> > Cr-Commit-Position: refs/heads/master@{#12219}
>
> TBR=glaznev@webrtc.org,stefan@webrtc.org,pbos@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5678
> NOTRY=true
>
> Committed: https://crrev.com/19b4fecf08e3fe215e431a260fb673553c15e569
> Cr-Commit-Position: refs/heads/master@{#12331}

TBR=glaznev@webrtc.org,stefan@webrtc.org,phoglund@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:602621, webrtc:5678

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

Cr-Commit-Position: refs/heads/master@{#12341}
2016-04-13 09:51:10 +00:00
afaae0d151 External VNR speed improvement.
Improved visual quality with 3x times speed-up.
Change list:
 1. Remove second chance filter in temporal denoising filter to mitigate trailing artifact.
 2. Add swap buffer to save one whole-frame memcpy.
 3. Do noise estimation on every N blocks.
 4. Adopt a faster moving object detection algorithm (change the structure).
 5. Refactor the for loops and PositionCheck().
 6. Refactor the function ReduceFalseDetection (RFD).
 7. Fix a bug in TrailingBlock() which causes a mismatch.
 8. Change unit test to support swap buffer test.
 9. Remove CopyMem8x8, use memcpy to copy U/V plane which can be optimized future.
 10. Remove DenoiseMetrics.

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

Cr-Commit-Position: refs/heads/master@{#12340}
2016-04-13 06:03:11 +00:00
bdb7af692f Changed the delay estimator to be built using C++
BUG=webrtc:5724
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#12336}
2016-04-12 21:47:46 +00:00
63911495de Revert of Fix screen capturers to initialize on the same thread on which Start() is called. (patchset #3 id:80001 of https://codereview.webrtc.org/1861893002/ )
Reason for revert:
This is preventing a WebRTC roll into Chromium. See https://codereview.chromium.org/1877263003/

Original issue's description:
> Fix screen capturers to initialize on the same thread on which Start() is called.
>
> Previously screen capturers were initialized when they are created.
> This means that in the CRD host they were initialized on the thread
> that's different from the thread on which they are used. Because of this
> on Linux the host was using XErrorTrap() on two different threads and
> this is not supported. Now ScreenCapturer implementations always
> initialize themselves on the thread on which Start() is called.
>
> Also added ThreadChecker to make sure the capturers are always called
> from the same thread.
>
> BUG=600432
>
> Committed: https://crrev.com/e8d4b7d8a3d298438a2ebd9ee8d5aa71f42cf033
> Cr-Commit-Position: refs/heads/master@{#12285}

TBR=jamiewalch@chromium.org,sergeyu@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=600432

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

Cr-Commit-Position: refs/heads/master@{#12334}
2016-04-12 18:42:07 +00:00
19b4fecf08 Revert of Make QualityScaler more responsive to downgrades. (patchset #3 id:40001 of https://codereview.webrtc.org/1830593003/ )
Reason for revert:
Speculative revert: want to see if this causes the regression in https://crbug.com/602621

Original issue's description:
> Make QualityScaler more responsive to downgrades.
>
> Permits going from HD to QVGA in 6 seconds instead of 10. Also adds
> windows for going up quickly in the beginning of a call (before any
> downscaling happens due to bad quality).
>
> BUG=webrtc:5678
> R=glaznev@webrtc.org, stefan@webrtc.org
>
> Committed: https://crrev.com/85829fd90cc4e7a91c9857921b19e8fc126aeb60
> Cr-Commit-Position: refs/heads/master@{#12219}

TBR=glaznev@webrtc.org,stefan@webrtc.org,pbos@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5678
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#12331}
2016-04-12 16:06:02 +00:00
164bc4bbd3 Revert of Remove the deprecated EncodeInternal interface from AudioEncoder (patchset #4 id:60001 of https://codereview.webrtc.org/1864993002/ )
Reason for revert:
Broke import. Implementations of the old interface still exists somewhere.

Original issue's description:
> Remove the deprecated EncodeInternal interface from AudioEncoder
>
> Also hid MaxEncodedBytes by making it private. It will get removed as soon as subclasses have had time to remove their overrides.
>
> BUG=webrtc:5591
>
> Committed: https://crrev.com/5222d315dbea8f3563c100cc9f2451907f70b05f
> Cr-Commit-Position: refs/heads/master@{#12329}

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

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

Cr-Commit-Position: refs/heads/master@{#12330}
2016-04-12 10:58:10 +00:00
5222d315db Remove the deprecated EncodeInternal interface from AudioEncoder
Also hid MaxEncodedBytes by making it private. It will get removed as soon as subclasses have had time to remove their overrides.

BUG=webrtc:5591

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

Cr-Commit-Position: refs/heads/master@{#12329}
2016-04-12 10:31:03 +00:00
afe1f74c04 Make sure temporal layered screenshare frames are sent in at least 2s.
If a very large frame is sent (high res slide change) when the available
send bitrate is very low, the it might take many seconds before any new
frames are emitted as the accrued debt will take time to pay off.

Add a bailout, so that if a frame hasn't been sent for 2 seconds, cancel
the debt immediately, even if the target bitrate is then exceeded.

BUG=webrtc:5750

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

Cr-Commit-Position: refs/heads/master@{#12328}
2016-04-12 09:45:20 +00:00
b97526ed65 Corrected include of C++ header file in AECM that was done using external inclusion
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12327}
2016-04-12 08:20:47 +00:00
7f315883f0 vp8-intergationtest: Adjust a parameter in resize test.
Needed for new libvpx roll.

TBR=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12324}
2016-04-12 04:02:51 +00:00
efdd930dc9 Fix RTCAudioSession crash in removeDelegate.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12320}
2016-04-11 19:01:06 +00:00
9ff9c6540b iOS h264: Request keyframe after coming back from background.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12319}
2016-04-11 18:40:36 +00:00
90a1351072 Fixed rtcp rpsi parsing of invalid packets.
Added packet type RpsiItem to destinguish parsed rpsi header and Rpsi body
  preventing handling two half-valid (header-only) rpsi packets as one valid,
  making test parser calculate rpsi packet once instead of twice.
Added check padding bits doesn't exceed native bit string length.
Marking rpsi received moved after it is validated.

BUG=600977

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

Cr-Commit-Position: refs/heads/master@{#12318}
2016-04-11 17:05:06 +00:00
c7bdf8a729 Added storing of the reverse output rate and number of channels in APM protobuf recordings.
Support for reading the newly added fields will be added in a another CL.

BUG=webrtc:5759, webrtc:5724

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

Cr-Commit-Position: refs/heads/master@{#12316}
2016-04-11 14:05:56 +00:00
dda52b9c3e Add performance tracing to AudioDevice inits.
Adds tracing to AudioDeviceModuleImpl::InitRecording and
AudioDeviceModuleImpl::StartRecording to visualize that they are a
significant part of startup time in performance recordings.

BUG=webrtc:5723
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12315}
2016-04-11 14:04:42 +00:00
2704512f7b What was done was
-changed filenames to *.cc
-fixed issues with implicit casts causing build errors.

All other CL warnings were ignored as the original
code is not changed, merely moved.

BUG=webrtc:5724
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#12307}
2016-04-11 05:38:19 +00:00
423d236a54 As the ClosestNativeRate method returns the closest native
rate that is higher than the specified rate, and not
the closest native rate the need for a name change has been
raised. This CL addresses that.

BUG=webrtc:5298

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

Cr-Commit-Position: refs/heads/master@{#12302}
2016-04-09 23:06:59 +00:00
98bb6640d2 Added log messages for some important call setup events:
- First audio RTP packet sent / received
 - First RTP packet of the first video frame sent / received
 - Last RTP packet of the first video frame sent / received
These timestamps should make it easier to measure how fast the call
becomes established from the user's perspective.

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

Cr-Commit-Position: refs/heads/master@{#12287}
2016-04-07 22:36:49 +00:00
e8d4b7d8a3 Fix screen capturers to initialize on the same thread on which Start() is called.
Previously screen capturers were initialized when they are created.
This means that in the CRD host they were initialized on the thread
that's different from the thread on which they are used. Because of this
on Linux the host was using XErrorTrap() on two different threads and
this is not supported. Now ScreenCapturer implementations always
initialize themselves on the thread on which Start() is called.

Also added ThreadChecker to make sure the capturers are always called
from the same thread.

BUG=600432

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

Cr-Commit-Position: refs/heads/master@{#12285}
2016-04-07 17:43:46 +00:00
5045337133 Pulling AEC divergent filter fraction.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12279}
2016-04-07 13:36:49 +00:00
9d7e8dd44e Adds Moto G 3rd Generation to HW AEC blacklist
BUG=b/27447146

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

Cr-Commit-Position: refs/heads/master@{#12278}
2016-04-07 11:56:08 +00:00
e10fc3fb2d Adding fraction of filter divergence in AEC metrics.
With the current AEC algorithm, the divergence of the echo cancelling linear filter is a strong signal of non-transparency. During double talk, it can result in a ducking artifacts.

In this CL, a metric that tells the fraction of filter divergence is added. This can measure the severity of non-transparency.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12276}
2016-04-07 09:57:00 +00:00
95177d1e71 GN: Fix some build errors for iOS.
With these changes, the only problem seem to be the missing jpeg
library. See https://codereview.chromium.org/1806503002/ for more details on that.

BUG=webrtc:5195, webrtc:5748
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#12273}
2016-04-07 07:14:06 +00:00
0d96ab7dc4 NetEq::GetPlayoutTimestamp returns empty during CNG
With this change, the return value from NetEq::GetPlayoutTimestamp is
empty if the latest call to NetEq::GetAudio resulted in comfort noise
(codec-internal or external) being played out. This is because the
playout timestamp is not updated during CNG, and can therefore not be
trusted.

A few unit tests were updated to reflect the change.

BUG=webrtc:5669

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

Cr-Commit-Position: refs/heads/master@{#12268}
2016-04-06 19:28:31 +00:00
c8d071e4e0 Switch to using new ACM methods for encoder management
BUG=webrtc:5028

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

Cr-Commit-Position: refs/heads/master@{#12267}
2016-04-06 19:22:45 +00:00
dc2242d351 Added a query function for whether submodules are enabled
that can be called from the render side without making APM
singlethreaded.

This CL is addressing the problems with high render-side
call duration that were triggered by the CL
https://codereview.webrtc.org/1844583003

BUG=webrtc:5736

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

Cr-Commit-Position: refs/heads/master@{#12266}
2016-04-06 16:31:07 +00:00
15c51e355f Move setting of AudioFrame::timestamp_ into NetEq
This was previously done in AcmReceiver, but belongs in NetEq where the
rest of the AudioFrame fields are populated.

BUG=webrtc:5669,webrtc:5607

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

Cr-Commit-Position: refs/heads/master@{#12265}
2016-04-06 15:39:01 +00:00
0bf612b3ec This CL is partially reverting the effects that
were added in https://codereview.webrtc.org/1773173002.

The reason for the revert is that for some scenarios
that CL causes problems in the coherence estimate used
in the AEC, which in turn causes echo leakage.

The reason for not reverting the actual CL is that
it would cause subsequent CLs to be reverted as well.
Therefore the choice was made to in this CK
instead revert the effects of that CL.

With the changes in this CL, the behavior is bitexact
to what it was before the CL mentioned above.

TBR=aluebs@webrtc.org

BUG=webrtc:5725

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

Cr-Commit-Position: refs/heads/master@{#12259}
2016-04-06 09:47:52 +00:00
fc3ef3e5c1 Removed unused code and simplified the code for the AEC metrics
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12258}
2016-04-06 09:28:32 +00:00
9a410dd082 Change NetEq::GetPlayoutTimestamp to return an rtc::Optional<uint32_t>
This is in preparation for changes to when the playout timestamp is
valid.

BUG=webrtc:5669

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

Cr-Commit-Position: refs/heads/master@{#12256}
2016-04-06 08:39:30 +00:00
7dc68897d3 Unit test for AudioFrame output from AcmReceiver::GetAudio
This new unit test verifies the parameter fields (not the audio data
itself) written to the AudioFrame output by AcmReceiver::GetAudio.

Also corrected a few comments reflecting recent changes in the code.

BUG=webrtc:5669

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

Cr-Commit-Position: refs/heads/master@{#12253}
2016-04-06 08:03:07 +00:00
2a5609de14 Increase kHasVoiceCountNear by one in audio_processing_unittest
I added more test cases here: https://codereview.webrtc.org/1862553002/
But one of these cases failed on Android64 Tests.
I am increasing a tolerance by 1 to make this test pass.

TBRing this, since the bot is red and it is a small fix.

TBR=peah@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12250}
2016-04-06 01:16:59 +00:00
40cbec5415 Fix the number of frames used when interleaving in AudioBuffer::InterleaveTo()
R=henrik.lundin@webrtc.org, peah@webrtc.org
TBR=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12249}
2016-04-06 00:29:29 +00:00
faed4ab24b Revert of Moved ring-buffer related files from common_audio to audio_processing" (patchset #2 id:20001 of https://codereview.webrtc.org/1858123003/ )
Reason for revert:
Because of down-stream dependencies, this CL needs to be reverted.

The dependencies will be resolved and then the CL will be relanded.

Original issue's description:
> Revert "Revert of Moved ring-buffer related files from common_audio to audio_processing (patchset #8 id:150001 of https://codereview.webrtc.org/1846903004/ )"
>
> This reverts commit c54aad6ae07fe2a44a65be403386bd7d7d865e5b.
>
> BUG=webrtc:5724
> NOPRESUBMIT=true
>
> Committed: https://crrev.com/8864fe5e08f8d8711612526dee9a812adfcd3be1
> Cr-Commit-Position: refs/heads/master@{#12247}

TBR=henrik.lundin@webrtc.org,ivoc@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5724

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

Cr-Commit-Position: refs/heads/master@{#12248}
2016-04-05 21:57:55 +00:00