164 Commits

Author SHA1 Message Date
tkchin
5ed5ed953d Fix VideoToolbox backgrounding issues.
When the iOS application is not in the foreground, the hardware encoder and
decoder become invalidated. There doesn't seem to be a way to query their state
so we don't know they're invalid until we get an error code after an
encode/decode request. To solve the issue, we just don't encode/decode when the
app is not active, and reinitialize the encoder/decoder when the app is active
again.

Also fixes a leak in the decoder.

BUG=webrtc:4081

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

Cr-Commit-Position: refs/heads/master@{#11916}
2016-03-08 18:51:58 +00:00
hbos
de1c81b2d2 Safe numeric library added: base/numerics (copied from Chromium)
This copies the contents (unittest excluded) of base/numerics in
chromium to base/numerics in webrtc. Files added:
- safe_conversions.h
- safe_conversions_impl.h
- safe_math.h
- safe_math_impl.h

A really old version of safe_conversions[_impl].h previously existed in
base/, this has been deleted and sources using it have been updated
to include the new base/numerics/safe_converions.h.

This CL also adds a DEPS file to webrtc/base.

NOPRESUBMIT=True
BUG=webrtc:5548, webrtc:5623

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

Cr-Commit-Position: refs/heads/master@{#11907}
2016-03-08 12:46:07 +00:00
philipel
5ab4c6d7e0 Revert "Revert of Implement the NackModule as part of the new jitter buffer. (patchset #19 id:360001 of https://codereview.webrtc.org/1715673002/ )"
This reverts commit eb648bf0e5a9bae185bcd6b4b3be371e1da3507d.

Re-reverting to fix original CL (https://codereview.webrtc.org/1715673002/).

TBR=stefan@webrtc.org, tommi@webrtc.org, torbjorng@webrtc.org

BUG=webrtc:5514

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

Cr-Commit-Position: refs/heads/master@{#11904}
2016-03-08 11:36:22 +00:00
kjellander
eb648bf0e5 Revert of Implement the NackModule as part of the new jitter buffer. (patchset #19 id:360001 of https://codereview.webrtc.org/1715673002/ )
Reason for revert:
Unfortunately this breaks in the main waterfall: https://build.chromium.org/p/client.webrtc/builders/Android32%20Builder/builds/6362

I think it's related to dcheck_always_on=1 which is set in GYP_DEFINES only on the trybots, but not on the bots in the main waterfall.

Original issue's description:
> Implement the NackModule as part of the new jitter buffer.
>
> Things done/implemented in this CL:
>   - An interface that can send Nack (VCMNackSender).
>   - An interface that can request KeyFrames (VCMKeyFrameRequestSender).
>   - The nack module (NackModule).
>   - A set of convenience functions for modular numbers (mod_ops.h).
>
> BUG=webrtc:5514
>
> Committed: https://crrev.com/f472c5b6722dfb221f929fc4d3a2b4ca54647701
> Cr-Commit-Position: refs/heads/master@{#11882}

TBR=sprang@webrtc.org,stefan@webrtc.org,terelius@webrtc.org,torbjorng@webrtc.org,perkj@webrtc.org,tommi@webrtc.org,philipel@webrtc.org
BUG=webrtc:5514
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11887}
2016-03-07 17:56:34 +00:00
philipel
f472c5b672 Implement the NackModule as part of the new jitter buffer.
Things done/implemented in this CL:
  - An interface that can send Nack (VCMNackSender).
  - An interface that can request KeyFrames (VCMKeyFrameRequestSender).
  - The nack module (NackModule).
  - A set of convenience functions for modular numbers (mod_ops.h).

BUG=webrtc:5514

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

Cr-Commit-Position: refs/heads/master@{#11882}
2016-03-05 11:56:45 +00:00
tkchin
4f735d16ad Enable iOS AppRTCDemo send side BWE.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11865}
2016-03-04 01:54:37 +00:00
kjellander
7324eb9e62 Revert of Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies. (patchset #2 id:40001 of https://codereview.webrtc.org/1737593002/ )
Reason for revert:
Breaks GN in chromium.

Original issue's description:
> Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies.
>
> webrtc/audio/audio_sink.h is used by voice engine, but webrtc/audio is
> depending on voice engine, resulting in a cyclic dependency (which we
> don't detect since we have that check turned off, see webrtc:4243).
>
> BUG=webrtc:4243, webrtc:5589
> R=pbos@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org
> TBR=tommi@webrtc.org
>
> Committed: https://crrev.com/99b345c4e50c59a776c56949c17da3f50992f1a2
> Cr-Commit-Position: refs/heads/master@{#11766}

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

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

Cr-Commit-Position: refs/heads/master@{#11769}
2016-02-25 16:37:02 +00:00
jbauch
13041cf11f Add CopyOnWriteBuffer class
This CL introduces a new class CopyOnWriteBuffer that holds data in a
refcounted Buffer which is shared between copied CopyOnWriteBuffer to avoid
unnecessary allocations / memory copies.

BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#11767}
2016-02-25 14:16:58 +00:00
kjellander@webrtc.org
99b345c4e5 Move webrtc/audio/audio_sink.h to webrtc/ and fix some dependencies.
webrtc/audio/audio_sink.h is used by voice engine, but webrtc/audio is
depending on voice engine, resulting in a cyclic dependency (which we
don't detect since we have that check turned off, see webrtc:4243).

BUG=webrtc:4243, webrtc:5589
R=pbos@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11766}
2016-02-25 14:12:48 +00:00
Peter Boström
a5d8e4eef5 Build SharedExclusiveLock in Chromium.
Partially un-breaks the Chromium FYI build.

TBR=jbauch@webrtc.org, tommi@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11765}
2016-02-25 13:54:21 +00:00
Jon Hjelle
6140fcc11c Move RTCFileLogger to webrtc/base/objc.
BUG=
R=jiayl@webrtc.org, tkchin@webrtc.org

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

Patch from Jon Hjelle <hjon@andyet.net>.

Cr-Commit-Position: refs/heads/master@{#11754}
2016-02-25 00:33:22 +00:00
tkchin
f75d008235 Bitrate controller for VideoToolbox encoder.
Also fixes a crash on encoder Release.

BUG=webrtc:4081

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

Cr-Commit-Position: refs/heads/master@{#11729}
2016-02-24 06:49:48 +00:00
tkchin
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
tommi
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
kjellander
988d31eb9b Move gtest_prod_util.h out of webrtc/test tree.
This is needed because the target is defined in webrtc/common.gyp
and its current location crosses package boundaries when generating
projects for some build systems.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11496}
2016-02-05 08:23:57 +00:00
tkchin
d1fb26d457 Add iOS tracing.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11469}
2016-02-03 09:51:22 +00:00
Jon Hjelle
da99da81c9 Update API for Objective-C RTCPeerConnectionFactory.
BUG=
R=jiayl@webrtc.org, tkchin@webrtc.org

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

Patch from Jon Hjelle <hjon@andyet.net>.

Cr-Commit-Position: refs/heads/master@{#11326}
2016-01-20 21:40:35 +00:00
kjellander
3c85cad1d4 Roll chromium_revision 7a4fb8d..f527e86 (370025:370073)
Change log: 7a4fb8d..f527e86
Full diff: 7a4fb8d..f527e86

No dependencies changed.

Clang was updated 255169:257953.
Details: 7a4fb8d..f527e86/tools/clang/scripts/update.py

NOTRY=True
NOPRESUBMIT=True

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

Cr-Commit-Position: refs/heads/master@{#11301}
2016-01-19 12:47:24 +00:00
jbroman
5584bf4c4d Make :rtc_base_approved a public dep of :rtc_base.
It looks to me like targets :rtc_base_approved is logically a subset of
:rtc_base, and so any targets depending on :rtc_base expect to also get
access to the headers in :rtc_base_approved.

Thus I think it's appropriate for :rtc_base to have :rtc_base_approved in
public_deps, so that `gn check` will permit this without clients having to
explicitly depend on both.

NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11227}
2016-01-12 17:46:59 +00:00
Guo-wei Shieh
9faf154960 Reland 1531763006
Enable IPv6 temporary address filtering on iOS.

We'll only use temporary address for IPv6. However, due to a bug in iOS sdk, the necessary headers are not included. This change copies the minimum necessary definitions such that we could retrieve the ip attributes.

BUG=webrtc:4343

Committed: https://crrev.com/29488c23644721c10a45eba74c67602b0262e582
Cr-Commit-Position: refs/heads/master@{#11114}

patch from issue 1531763006 at patchset 200001 (http://crrev.com/1531763006#ps200001)

TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11133}
2015-12-28 22:07:05 +00:00
Guo-wei Shieh
a6c86b23fe Revert "Enable IPv6 temporary address filtering on iOS."
This reverts commit 29488c23644721c10a45eba74c67602b0262e582.

This broke chromium.fyi bot.

TBR=pthatcher@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11115}
2015-12-23 04:17:37 +00:00
guoweis
29488c2364 Enable IPv6 temporary address filtering on iOS.
We'll only use temporary address for IPv6. However, due to a bug in iOS sdk, the necessary headers are not included. This change copies the minimum necessary definitions such that we could retrieve the ip attributes.

BUG=webrtc:4343

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

Cr-Commit-Position: refs/heads/master@{#11114}
2015-12-23 00:46:48 +00:00
tfarina
c1cd566cc6 delete basictypes.h header
We have updated the uses of ARRAY_SIZE to arraysize in past patches:

5237aaf243
fa5d0dbd1e

BUG=None
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11085}
2015-12-18 15:33:09 +00:00
kjellander
7cae30cbe1 Disable warnings failing when using Clang on Windows.
This makes it possible to build WebRTC using Clang on Windows.
Depends on https://codereview.webrtc.org/1524703006/

BUG=webrtc:5360, webrtc:5366
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11058}
2015-12-16 22:05:36 +00:00
kwiberg
45fd9fe92c New macro: RTC_DEPRECATED (for annotating deprecated functions)
Review URL: https://codereview.webrtc.org/1494133003

Cr-Commit-Position: refs/heads/master@{#11042}
2015-12-16 09:09:25 +00:00
hjon
aa32c3e537 Update API for Objective-C RTCIceServer
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11000}
2015-12-14 03:58:19 +00:00
terelius
84e78f9102 Rewrote the PRNG using an xorshift* algorithm and moved the files from test/ to base/.
Created a simple unit test for the new random number generator. (It mostly tests
that the generated numbers are consistent with the intended distribution, e.g. uniform.
It is not a comprehensive test of the quality of the random numbers.)

Several assertions in OveruseDetectorTest seem to depend on the exact sequence of random numbers. I updated those numbers to work with the new PRNG.

Compute the standard deviation of the expected result in TestReorderFilter instead of passing an uncertainty parameter.

BUG=webrtc:5177

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

Cr-Commit-Position: refs/heads/master@{#10965}
2015-12-10 09:51:02 +00:00
haysc
edd8fefa9b Add new view that renders local video using AVCaptureLayerPreview.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10940}
2015-12-08 19:08:44 +00:00
tkchin
42f580e490 Leaving all original files in talk/app/webrtc/objc until we can officially tell clients about the new locations.
Also changes presubmit script to not run cpplint on objc dirs.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10815}
2015-11-27 07:18:28 +00:00
Peter Boström
fd5dae395b Build/use constructormagic.h unconditionally.
These macros no longer collide with Chromium since they are prefixed
with RTC_.

BUG=
R=henrikg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10801}
2015-11-26 11:54:32 +00:00
Peter Boström
11e022904d Move Chromium logging into rtc_base_approved.
The corresponding set of overrides weren't moved when logging.cc etc.
was moved over. This wasn't noticed because all existing targets before
webrtc fuzzers used to link both rtc_base and rtc_base_approved in
Chromium. Also adding //base:base as a dependency, this used to be
linked in by other targets either way before but generated build errors
when a target solely depends on rtc_base_approved.

BUG=webrtc:4771
R=kjellander@webrtc.org
TBR=henrikg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10792}
2015-11-25 20:40:13 +00:00
pbos
12411ef40e Move ThreadWrapper to ProcessThread in base.
Also removes all virtual methods. Permits using a thread from
rtc_base_approved (namely event tracing).

BUG=webrtc:5158
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10760}
2015-11-23 22:48:01 +00:00
tfarina
fa5d0dbd1e cleanup: get rid of basicdefs.h include
The ARRAY_SIZE macro it defines is not used anymore, as all the usages
were converted to arraysize macro from arraysize.h.

BUG=None
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10640}
2015-11-13 22:37:43 +00:00
Karl Wiberg
be57983f4b Rename Maybe to Optional
And add examples of good and bad usage to the documentation.

R=aluebs@webrtc.org, henrik.lundin@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10588}
2015-11-10 21:34:32 +00:00
Karl Wiberg
e2a83eee73 Introduce rtc::ArrayView<T>, which keeps track of an array that it doesn't own
The main intended use case is as a function argument, replacing the
harder-to-read and harder-to-use separate pointer and size arguments.
It's easier to read because it's just one argument instead of two, and
with clearly defined semantics; it's easier to use because it has
iterators, and will automatically figure out the size of arrays.

BUG=webrtc:5028
R=andrew@webrtc.org, solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10415}
2015-10-26 18:51:42 +00:00
Karl Wiberg
6e587200db Introduce rtc::Maybe<T>, which either contains a T or not.
It's a simple std::experimental::optional-wannabe. For simplicity and
portability, it still secretly contains a (default-constructed) T when
it's supposedly empty. This restriction is fine for simple types.

One important application is for the return type of functions. For
example, a function which either returns a size_t or fails can return
rtc::Maybe<size_t>.

BUG=webrtc:5028
R=andrew@webrtc.org, mgraczyk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#10353}
2015-10-21 10:44:17 +00:00
honghaiz
023f3ef029 Create network change notifier and pass the event to NetworkManager
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10325}
2015-10-19 16:39:38 +00:00
torbjorng
172f009be2 Get rid of SCHANNEL code.
BUG=webrtc:5045

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

Cr-Commit-Position: refs/heads/master@{#10199}
2015-10-07 11:58:00 +00:00
henrikg
990d57dc65 Fix file order in base.gyp.
Review URL: https://codereview.webrtc.org/1386613003

Cr-Commit-Position: refs/heads/master@{#10164}
2015-10-05 08:22:32 +00:00
henrikg
9dff0ba8c1 Fix MSVS project files generation.
BUG=5044
TBR=kjellander@webrtc.org
TEST=Runhooks with GYP_GENERATORS=msvs-ninja

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

Cr-Commit-Position: refs/heads/master@{#10151}
2015-10-02 17:07:58 +00:00
henrikg
ee2bf41a79 Update build files to use webrtc_overrides in Chromium instead of overrides.
This re-lands https://codereview.webrtc.org/1354933002/

This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.

Depends on https://codereview.chromium.org/1345873004/

BUG=chromium:468375

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

Cr-Commit-Position: refs/heads/master@{#10115}
2015-09-30 10:49:11 +00:00
torbjorng
07d09364b0 Purge nss files and dependencies.
This replaces https://codereview.webrtc.org/1313233005
which was reverted after triggering Chromium issues.
The only difference is that we're cleaned up dependencies
on use_openssl from the gyp file.

Since https://codereview.chromium.org/1358913003 landed,
this CL should cause no Chromium issues.

BUG=webrtc:4497

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

Cr-Commit-Position: refs/heads/master@{#10019}
2015-09-22 18:58:13 +00:00
henrikg
40bf493754 Revert of Update build files to use webrtc_overrides in Chromium instead of overrides. (patchset #2 id:20001 of https://codereview.webrtc.org/1354933002/ )
Reason for revert:
Breaks FYI bots.

ninja: error: '../../third_party/webrtc_overrides/webrtc/base/logging.cc', needed by 'obj/third_party/webrtc_overrides/webrtc/base/rtc_base.logging.o', missing and no known rule to make it

Original issue's description:
> Update build files to use webrtc_overrides in Chromium instead of overrides.
>
> This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.
>
> BUG=chromium:468375
>
> Committed: https://crrev.com/baae0a8a6c873ddf812a5687b84638359b2e7e5b
> Cr-Commit-Position: refs/heads/master@{#9996}

TBR=kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:468375

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

Cr-Commit-Position: refs/heads/master@{#9998}
2015-09-21 10:29:31 +00:00
henrikg
baae0a8a6c Update build files to use webrtc_overrides in Chromium instead of overrides.
This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.

BUG=chromium:468375

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

Cr-Commit-Position: refs/heads/master@{#9996}
2015-09-21 09:53:05 +00:00
henrikg
71df77bba0 Remove overridden basictypes.h.
* Use (u)intxx_t for (u)intxx typedefs for all platforms.
* Always include stdint.h.
* Add RTC_ prefix to ARCH_XXX macros.

Chromium did the (u)intxx_t change in
https://codereview.chromium.org/117323010 and
https://codereview.chromium.org/639293007

BUG=chromium:468375
TBR=perkj@webrtc.org (for trivial talk/* changes)
NOTRY=true
NOPRESUBMIT=true

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

Cr-Commit-Position: refs/heads/master@{#9983}
2015-09-18 08:48:39 +00:00
deadbeef
9eb1365939 Revert of purge nss files and dependencies (patchset #1 id:1 of https://codereview.webrtc.org/1313233005/ )
Reason for revert:
It looks like this broke the FYI bots. I tried updating libjingle_nacl.gyp, but the IOS build still failed because in Chrome it's configured to use NSS. See https://codereview.chromium.org/1316863012/.

Original issue's description:
> purge nss files and dependencies
>
> BUG=webrtc:4497
>
> Committed: https://crrev.com/5647a2cf3db888195c928a1259d98f72f6ecbc15
> Cr-Commit-Position: refs/heads/master@{#9862}

TBR=tommi@webrtc.org,kjellander@webrtc.org,torbjorng@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4497

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

Cr-Commit-Position: refs/heads/master@{#9867}
2015-09-05 11:39:24 +00:00
torbjorng
5647a2cf3d purge nss files and dependencies
BUG=webrtc:4497

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

Cr-Commit-Position: refs/heads/master@{#9862}
2015-09-04 15:12:00 +00:00
Peter Thatcher
d415629de7 Remove AsyncHttpRequest, AutoPortAllocator, ConnectivityChecker, and HttpPortAllocator.
BUG=webrtc:4149, webrtc:4456
R=deadbeef@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9857}
2015-09-04 11:21:14 +00:00
tommi
efefda6062 Move SystemInfo to rtc_base_approved and delete unused code.
This cl removes a lot of unused functionality in SystemInfo and reduces dependencies.
There's duplicate functionality in this class and WebRTC's CpuInfo class, so I'm consolidating the two implementations.
The CpuInfo interface will still exist since it's being used from Chrome to initialize the core count before the sandbox is engaged.
With this change, the SystemInfo class will get the benefit too of this initialization.

NOTRY=true
(using no try due to a dead android try bot)

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

Cr-Commit-Position: refs/heads/master@{#9743}
2015-08-20 12:04:18 +00:00
Henrik Boström
41b3a384f4 Adds RTCCertificate, a reference counted object indirectly owning an SSLCertificate (by owning the SSLIdentity).
BUG=webrtc:4927
R=tommi@chromium.org, tommi@webrtc.org, torbjorng@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9741}
2015-08-20 10:16:04 +00:00