14320 Commits

Author SHA1 Message Date
ivoc
bf02e2070f Revert of Fix for RtcEventLog ObjC interface (patchset #3 id:40001 of https://codereview.webrtc.org/2106103003/ )
Reason for revert:
Reverting all CLs related to moving the eventlog, as they break Chromium tests.

Original issue's description:
> Fix for RtcEventLog ObjC interface
>
> This moves the RtcEventLog start/stop functions to PeerConnection on the objC interface.
>
> BUG=
> R=tkchin@webrtc.org
>
> Committed: c43bf56ef1

TBR=tkchin@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/2110373002
Cr-Commit-Position: refs/heads/master@{#13338}
2016-06-30 07:55:07 +00:00
Ivo Creusen
c43bf56ef1 Fix for RtcEventLog ObjC interface
This moves the RtcEventLog start/stop functions to PeerConnection on the objC interface.

BUG=
R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13337}
2016-06-30 07:32:15 +00:00
peah
a3333bfafb This CL adds activation logic of the new APM level control
functionality and exposes the functionality using the
MediaConstraints.

The exposing of the feature through the  MediaConstraints
was done similarly to what was done for the intelligibility
enhancer in the CL
https://codereview.webrtc.org/1952123003

This CL is dependent on the CL https://codereview.webrtc.org/2090583002/ which contains
the level control functionality.

NOTRY=true
BUG=webrtc:5920

Review-Url: https://codereview.webrtc.org/2095563002
Cr-Commit-Position: refs/heads/master@{#13336}
2016-06-30 07:02:41 +00:00
Honghai Zhang
17aac053f5 Add config to prune low-priority TURN ports for creating connections
When the flag prune_turn_ports is set, When a high-priority turn port becomes available, it will prune low-priority ones. The pruned port will not be used for creating connections locally and its candidates will not be sent over to the remove side (unless they have been sent before being pruned).

This effectively reduces the number of TURN candidates and connections created by TURN ports.

BUG=
R=deadbeef@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13335}
2016-06-30 04:42:05 +00:00
skvlad
4c4cb5b984 Separate the JNI function that controls logging levels into two.
The parameters for Logging.enableTracing() were creating the impression
that they control level and severity of one tracing system and they are
meant to be used together. In fact the "levels" parameter controlled one
tracing system (WEBRTC_TRACE), and the "severity" parameter was
responsible for a completely different one: setting the severity level
above which log messages from LOG() will be directed to the
platform-specific debug output (logcat on Android).

The method signature suggested that the "path" parameter applied to both
systems - while it was only meaningful for the WEBRTC_TRACE; LOG
messages were directed to ADB logcat no matter what the Path value was.
It is possible to redirect LOG messages to a file, but that is done
using a completely different set of APIs
 - PeerConnectionFactory.startInternalTracingCapture().

I've separated these two methods to make it more clear which of the
parameters controls which system.

NOTRY=true

Review-Url: https://codereview.webrtc.org/2110853003
Cr-Commit-Position: refs/heads/master@{#13334}
2016-06-29 22:30:48 +00:00
peah
ca4cac7e74 New module for the adaptive level controlling functionality in the audio processing module
NOTRY=true
TBR=aluebs@webrtc.org
BUG=webrtc:5920

Review-Url: https://codereview.webrtc.org/2090583002
Cr-Commit-Position: refs/heads/master@{#13333}
2016-06-29 22:26:19 +00:00
deadbeef
886815bc36 Add back P2PTransportChannel.Connect, for Chromium.
Will remove it as soon as Chromium does a roll and can stop using it.

TBR=pthatcher@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2110853005
Cr-Commit-Position: refs/heads/master@{#13332}
2016-06-29 22:21:14 +00:00
Taylor Brandstetter
b825aee04a Start ICE connectivity checks as soon as the first pair is pingable.
Previously, we were starting a periodic timer when the local
description was set. The first connection may be created at any
time after this happens, so after creating the first connection, we
need to wait until that timer next fires before sending a ping.

Now we just start that timer (and send the first ping) immediately
after the first connection becomes pingable.

This CL also removes the "Connect" method. The only vestigal
effect of this method was to start the periodic timer, which is
now not needed since it happens automatically.

R=honghaiz@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13331}
2016-06-29 20:07:26 +00:00
Peter Boström
f516585e10 Workaround for clang bug http://llvm.org/PR28348.
Permits rolling chromium further.

BUG=
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13330}
2016-06-29 18:25:38 +00:00
Taylor Brandstetter
bf2f569b22 Fixing flakiness of CreateDataChannelAfterNegotiate.
Test worked by creating a dummy data channel just to trigger the
SDP generation, then creating two data channels after negotiation.

However the dummy data channel is then racing with the "real" data
channel to get negotiated, so they could be signaled in the reverse
of the expected order.

Fixed this by simply waiting for the dummy data channel to be
signaled before creating the other data channels.

BUG=webrtc:3980
R=pthatcher@webrtc.org, skvlad@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13329}
2016-06-29 18:25:15 +00:00
Taylor Brandstetter
6c3e788dcf Add RTX codecs for codecs only supported by external encoder.
Previously we were only adding these RTX codecs if the codec was
internally supported.

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

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

Cr-Commit-Position: refs/heads/master@{#13328}
2016-06-29 18:14:29 +00:00
Taylor Brandstetter
f3d8d32c5f Fixing P2PTransportChannelTest.TestIceConfigWillPassDownToPort.
Was flaky because it was checking the role of a port, but a role
conflict could occur before this happened which would swap the
role.

BUG=webrtc:6019
R=honghaiz@webrtc.org, pthatcher@webrtc.org
TBR=honghaiz@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13327}
2016-06-29 18:07:44 +00:00
Taylor Brandstetter
54433e72aa Fixing flakiness of TestDetectUnresolvedProxy.
If the AutoDetectProxy timed out resolving one address, it was
attempting to use the same resolver to resolve the next address,
which would always result in an assertion. This happened recently
a couple times on the Windows DrMemory bot because of its slowness.

TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13326}
2016-06-29 17:10:38 +00:00
Johan Ahlers
37f93af032 Remove unused constructor from VCMPacket.
BUG=
R=pbos@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13325}
2016-06-29 16:03:20 +00:00
Ivo Creusen
df6ecea8ac Fix to make the start/stop functions for the Rtc Eventlog non-virtual.
This is needed to prevent the Chromium import bot from breaking.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13324}
2016-06-29 15:31:07 +00:00
Danil Chapovalov
18c65a448f Expanded error message for unexpected packet
in the flaky test EndToEndTest.DecodesRetransmittedFrame*

BUG=webrtc:5540
R=pbos@webrtc.org, pbos

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

Cr-Commit-Position: refs/heads/master@{#13323}
2016-06-29 13:29:48 +00:00
Sami Kalliomaki
9c0c75bd6e Add GN targets for AppRTC Demo on Android.
Adds GN equivalents for following targets:
AppRTCDemo          -> //webrtc/examples:AppRTCDemo
AppRTCDemo_apk      -> //webrtc/examples:AppRTCDemo_lib (kind of)
AppRTCDemoJUnitTest -> //webrtc/examples:AppRTCDemoJUnitTest
AppRTCDemoTest      -> //webrtc/examples:AppRTCDemoTest
libjingle_peerconnection_java -> //webrtc/api/libjingle_peerconnection_java
libjingle_peerconnection_so   -> //webrtc/api/libjingle_peerconnection_so

New GN targets:
//webrtc/base:base_java
//webrtc/examples:AppRTCDemo_resources
//webrtc/examples/androidapp/third_party/autobanh:autobanh_java

BUG=webrtc:6035
R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13322}
2016-06-29 12:55:12 +00:00
Ivo Creusen
1895526c61 Move RtcEventLog object from inside VoiceEngine to Call.
In addition to moving the logging object itself, this also moves the interface from PeerConnectionFactory to PeerConnection, which makes more sense for this functionality. An API parameter to set an upper limit to the size of the logfile is introduced.
The old interface on PeerConnectionFactory is not removed in this CL, because it is called from Chrome, it will be removed after Chrome is updated to use the PeerConnection interface.

BUG=webrtc:4741,webrtc:5603,chromium:609749
R=solenberg@webrtc.org, stefan@webrtc.org, terelius@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13321}
2016-06-29 11:57:01 +00:00
Sami Kalliomaki
8cf2a3a3ad Android: Camera2 implementation and tests for it.
BUG=webrtc:5519
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13320}
2016-06-29 11:27:50 +00:00
Magnus Jedvert
f4878e5968 VideoCapturerAndroid: Remove unused function getCameraThreadHandler
R=sakal@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13319}
2016-06-29 09:43:13 +00:00
Joachim Bauch
37bb54eb20 Reland: Remove global list of SRTP sessions.
Instead save a reference to the SrtpSession inside the srtp_ctx_t.

The original CL was https://codereview.webrtc.org/1416093010 and
should be good to reland now that internal projects are using a
more recent version of libsrtp.

BUG=webrtc:5133
R=mattdr@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13318}
2016-06-29 08:41:16 +00:00
Taylor Brandstetter
65f47275cb Fixing race condition in IncomingVideoStream.
This really only happens on the memcheck bot. But the issue is that
the render thread may be started before the timer is started on
the main thread, which incorrectly attaches the timer to the render
thread. Then a thread check assertion occurs when the timer is
stopped on the main thread.

Simply starting the timer before starting the render thread fixes this.

BUG=webrtc:6062
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13317}
2016-06-28 17:46:44 +00:00
Alejandro Luebs
a3c51ea9f4 Revert "Pull out the PostFilter to its own NonlinearBeamformer API"
This reverts commit b983112bc7686ed4276def4c9215c498444c6bdd.

It was breaking dependencies.
TBR=aluebs@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#13316}
2016-06-28 17:38:41 +00:00
Sami Kalliomaki
9c7a0dbc8a Constructor in Camera1Enumerator should be public.
R=danilchap@webrtc.org
TBR=magjed_webrtc

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

Cr-Commit-Position: refs/heads/master@{#13315}
2016-06-28 17:04:06 +00:00
Alejandro Luebs
b983112bc7 Pull out the PostFilter to its own NonlinearBeamformer API
This is done to avoid having a nonlinear component in the AEC path.
Now the linear delay and sum is run before the AEC and the postfilter after it.

R=henrik.lundin@webrtc.org, peah@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13314}
2016-06-28 17:02:57 +00:00
Honghai Zhang
d00c05788f Fix the turn and udp port type.
The port type was not set if it was created on a shared socket.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13313}
2016-06-28 16:44:55 +00:00
sakal
70fae2ccc6 Add override annotation to appropriate methods in Camera1Enumerator.
Also move getDeviceNames to a more appropriate location in the file.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2105813002
Cr-Commit-Position: refs/heads/master@{#13312}
2016-06-28 15:36:43 +00:00
noahric
0dacbf5f62 Create a null decoder for h264 when not supported, instead of crashing.
BUG=
NOTRY=true

Review-Url: https://codereview.webrtc.org/2091923002
Cr-Commit-Position: refs/heads/master@{#13311}
2016-06-28 13:39:52 +00:00
Johan Ahlers
31b2ec4e0d Remove unused output parameter in VCMReceiver::FrameForDecoding().
BUG=
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13310}
2016-06-28 11:32:57 +00:00
Johan Ahlers
95348f7663 Remove unused parameters from VCMReceiver::InsertPacket().
BUG=
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13309}
2016-06-28 09:11:37 +00:00
Max Morin
098e6c5d0a Logging and tracing of audio devices on Andriod.
Replaced invokations of WEBRTC_TRACE with LOG, which is
visible in the android system log.

BUG=NONE
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13308}
2016-06-28 07:36:39 +00:00
Taylor Brandstetter
6bb1ef2b86 Fixing bug where Connection drops packets when presumed writable.
The "should I simulate EWOULDBLOCK?" determination now happens
solely in P2PTransportChannel. This also fixes a bug where the
"last packet id" was set even if no packet was sent.

R=honghaiz@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13307}
2016-06-28 01:09:10 +00:00
Taylor Brandstetter
f8e65779a7 Add virtual Initialize methods to PortAllocator and NetworkManager.
This will allow PeerConnection to handle hopping to the right thread
and doing thread-specific initialization for the PortAllocator.
This eliminates a required thread-hop for whatever is passing the
PortAllocator into CreatePeerConnection.

BUG=617648
R=pthatcher@webrtc.org, skvlad@webrtc.org

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

Committed: https://crrev.com/a6bdb0990a659ff9e7c4374f5033a6bcc4fbfb21
Cr-Original-Commit-Position: refs/heads/master@{#13283}
Cr-Commit-Position: refs/heads/master@{#13306}
2016-06-28 00:20:25 +00:00
Taylor Brandstetter
ba29c6aac7 Reland 2 of: Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver.
Relanding again after fixing issue with RTC_DCHECKs.

This CL eliminates the need for the extra layer of indirection provided by
mediastreamprovider.h. It will thus make it easier to implement new
functionality in RtpSender/RtpReceiver.

It also brings us one step closer to the end goal of combining "senders"
and "send streams". Currently the sender still needs to go through the
BaseChannel and MediaChannel, using an SSRC as a key.

R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13305}
2016-06-27 23:30:45 +00:00
Taylor Brandstetter
716d07a241 Using fake clock for TURN port tests and un-disabling some tests.
The fake clock has a few advantages:
1. It lets use verify that operations take the expected number of
   round trips.
2. It makes the tests faster by letting us remove the equivalent
   of "Sleep(500)" all over the tests.
3. It makes the tests less flaky, because sometimes sleeping for
   500ms or waiting for 1s is not enough.

R=honghaiz@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13304}
2016-06-27 21:07:51 +00:00
deadbeef
1caff88945 Disabling EndToEndTest.RestartingSendStreamPreservesRtpStatesWithRtx.
Was thought to be only flaky on Mac, but just failed on Win SyzyASan.
So, disabling until flakiness is fixed.

BUG=webrtc:4332
TBR=pbos@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2104583002
Cr-Commit-Position: refs/heads/master@{#13303}
2016-06-27 20:10:02 +00:00
Alex Glaznev
d57048433c Decrease the amount of maximum outstanding frames for Android HW H.264 decoder.
BUG=b/28150902
R=pbos@webrtc.org, sakal@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13302}
2016-06-27 18:51:24 +00:00
Honghai Zhang
56ce49d710 Delete a method that was not used.
This was a mistake from code merging.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13301}
2016-06-27 18:19:33 +00:00
Peter Boström
3d2e853f86 Replace OS_ANDROID define to disable webrtc test.
Replaces OS_ANDROID with WEBRTC_ANDROID to disable
ProcessNoLossChangeFrameRateFrameDropVP9 on Android.

BUG=webrtc:6057
R=danilchap@webrtc.org
TBR=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13300}
2016-06-27 17:47:20 +00:00
Peter Boström
ac968bdab6 Build webrtc_nonparallel_tests under GN.
BUG=webrtc:5949, webrtc:6040
R=danilchap@webrtc.org
TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13299}
2016-06-27 17:31:56 +00:00
Patrik Höglund
3532ee2f0a Disable flaky ProcessNoLossChangeFrameRateFrameDropVP9 on Android
BUG=webrtc:6057
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13298}
2016-06-27 16:17:21 +00:00
minyuel
e01000b9a4 Fixing a comment on AEC divergence metric.
BUG=
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13297}
2016-06-27 15:06:22 +00:00
tandrii
7ba0262248 Make bucket names explicit in cq.cfg.
Don't assume bucket name to start with 'master.'.

NOTRY=True
BUG=chromium:617627
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2095083002
Cr-Commit-Position: refs/heads/master@{#13296}
2016-06-27 15:04:45 +00:00
phoglund
685440be2d Make mixing test die earlier on failure instead of spamming errors
This test currently takes 288 seconds to fail if output values are
wrong; there's no point to print the failure hundreds of times.
This change will exit the test early.

R=henrika@webrtc.org
BUG=623538
NOTRY=true

Review-Url: https://codereview.webrtc.org/2097363002
Cr-Commit-Position: refs/heads/master@{#13295}
2016-06-27 14:18:41 +00:00
Sami Kalliomaki
b52e81c054 Allow disabling capture to texture on Camera1Enumerator using constructor parameter.
The plan is that the CameraEnumerationAndroid will in the future have
method called getEnumerator that will return an enumerator that can be
used to create CameraVideoCapturer objects. It will return
Camera2Enumerator if it is supported or else Camera1Enumerator. Some
apps want to capture to byte buffers which is no longer supported in the
camera2 version of CameraVideoCapturer. Camera1Enumerator constructed
with false parameter as captureToTexture will be returned to these apps.

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

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

Cr-Commit-Position: refs/heads/master@{#13294}
2016-06-27 13:10:23 +00:00
buildbot
007f0ad09a Roll chromium_revision 7711cbb94f..74a40988ba (401243:402146)
Change log: 7711cbb94f..74a40988ba
Full diff: 7711cbb94f..74a40988ba

Changed dependencies:
* src/third_party/libFuzzer/src: 0475f06430..7ee243229b
* src/third_party/libvpx/source/libvpx: 181988d372..243029faff
DEPS diff: 7711cbb94f..74a40988ba/DEPS

No update to Clang.

TBR=marpan@webrtc.org, stefan@webrtc.org,
NOTRY=true

Review-Url: https://codereview.webrtc.org/2099183002
Cr-Commit-Position: refs/heads/master@{#13293}
2016-06-27 10:57:42 +00:00
Tommi
7893e9a267 Remove a thread checker for a decoder thread from IncomingVideoStream.
The specific decoder thread may vary when using VideoToolbox.

BUG=webrtc:6051
TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13292}
2016-06-27 07:54:58 +00:00
Honghai Zhang
56c0b20490 Return both IPv6 and IPv4 address from the lookup.
We currently only return IPv4 address, which may cause issues in IPv6 networks
if we provide host name as the turn servers.

BUG=webrt:5871
R=juberti@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13291}
2016-06-27 05:11:24 +00:00
stefan
ff4def7eb7 Fix stats hud in AppRTC Demo for iOS.
NOTRY=true

Review-Url: https://codereview.webrtc.org/2034033002
Cr-Commit-Position: refs/heads/master@{#13290}
2016-06-26 19:08:47 +00:00
tkchin
3784b4a697 Revert of Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver. (patchset #3 id:40001 of https://codereview.webrtc.org/2046173002/ )
Reason for revert:
Broke video sending for iOS AppRTCDemo. To repro, run iOS AppRTCDemo in Release in loopback mode. The revision prior to this change worked.

Original issue's description:
> Reland of: Use VoiceChannel/VideoChannel directly from RtpSender/RtpReceiver.
>
> This eliminates the need for the extra layer of indirection provided by
> mediastreamprovider.h. It will thus make it easier to implement new
> functionality in RtpSender/RtpReceiver.
>
> It also brings us one step closer to the end goal of combining "senders"
> and "send streams". Currently the sender still needs to go through the
> BaseChannel and MediaChannel, using an SSRC as a key.
>
> R=pthatcher@webrtc.org
>
> Committed: 2d5491783a

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

Review-Url: https://codereview.webrtc.org/2092273003
Cr-Commit-Position: refs/heads/master@{#13289}
2016-06-25 02:31:54 +00:00