Commit Graph

29094 Commits

Author SHA1 Message Date
4c85828ab2 Refactor SCTP data channels to use DataChannelTransportInterface.
This change moves SctpTransport to be owned by JsepTransport, which now
holds a DataChannelTransport implementation for SCTP when it is used for
data channels.

This simplifies negotiation and fallback to SCTP.  Negotiation can now
use a composite DataChannelTransport, just as negotiation for RTP uses a
composite RTP transport.

PeerConnection also has one fewer way it needs to manage data channels.
It now handles SCTP and datagram- or media-transport-based data channels
the same way.

There are a few leaky abstractions left.  For example, PeerConnection
calls Start() on the SctpTransport at a particular point in negotiation,
but does not need to call this for other transports.  Similarly, PC
exposes an interface to the SCTP transport directly to the user; there
is no equivalent for other transports.

Bug: webrtc:9719
Change-Id: I0d3151c48c1a511368277981fc4cf818a9f8ebb4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150341
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29012}
2019-08-29 17:30:27 +00:00
55dd72c54b Remove lock for process thread pointer from PacedSender.
Also adding code in preparation of hiding the Module
implementation in PacedSender. The implementation details of
how the PacedSender+ProcessThread interaction works, has now
been moved into PacedSender (and out of RtpTransportControllerSend).

Instead of adding a "GetModuleImplementationForTesting" method
to the PacedSender class (which would have been the lazy way
out), I incorporated MockedProcessThread in the PacedSender tests.
This means more boilerplate code but the Module functionality
can be tested separately from the PacedSender and down the line
I think it would be a good idea to start using a separate thread
in the test, which is how the class under test is really used
in production.

Bug: none
Change-Id: Iec1b7c97cb0b363b331143ca70545e6ebafe2cd4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149176
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29011}
2019-08-29 17:08:24 +00:00
25eb47ccf1 Make the RtpHeaderParserImpl available to tests and tools only.
There are a few reasons for making this test only:
* The code is only used by tests and utilities.
* The pure interface has only a single implementation so an interface isn't really needed.
  (a followup change could remove it altogether)
* The implementation always incorporates locking regardless of how the class gets used.
  See e.g. previous use in the Packet class.
* The implementation is a layer on top of RtpUtility::RtpHeaderParser which is
  sufficient for most production cases.

Change-Id: Ide6d50567cf8ae5127a2eb04cceeb10cf317ec36
Bug: none
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150658
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29010}
2019-08-29 15:56:40 +00:00
022a7c8d49 Fix HexEncodeTest.TestZeroLengthNoDelimiter with enable_iterator_debugging=true
Fix HexEncodeTest.TestZeroLengthNoDelimiter with enable_iterator_debugging=true,
use_custom_libcxx=false on Windows.

When passed empty string, hex_encode_with_delimiter would dereference
std::string::end() iterator in expression &*s.begin();

Bug: webrtc:10927
Change-Id: I27ce5fecf1f2a5c49a1b85bb94e1dcc92c4c3697
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150651
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
Cr-Commit-Position: refs/heads/master@{#29009}
2019-08-29 14:16:23 +00:00
8226875e6c Avoids race during VideoStreamEncoder unittest teardown
The ScopedFakeClock contains a lock. Due to declaration order, this is
the first member of VideoStreamEncoderTest to be destroyed. However,
there are cyclic tasks that may still be running at that time, and they
may try to read the time, so if we're unlucky they may trigger a use
after free condition.

This only affects test and is simply solved by moving the declaration
to before the classes that uses it.

Bug: webrtc:10929
Change-Id: I998d5ced877f355e4a45ee5cf75b2eb75faa6113
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150795
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29008}
2019-08-29 14:10:53 +00:00
640aee2c97 Remove backwards compatibility names from api/uma_metrics.h.
Bug: webrtc:10198
Change-Id: Ibb10579768322ae5d3c6a4c5695f21f08af122b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150794
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29007}
2019-08-29 13:35:56 +00:00
da2f4a3e0d Remove stale TODO from rtc_base/checks.h.
No-Try: True
Bug: webrtc:10198
Change-Id: I8dee808c399c2a4a4922ec23a42bc0916dd32f52
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150796
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29006}
2019-08-29 13:19:26 +00:00
44dc241ae8 Allows configuration of playout audio buffer
Playout audio buffer length in Java audio device configuration with fieldtrial.

Bug: webrtc:10928
Change-Id: I79286f09591f4b2c6a6146f23d3dce92a29f6b21
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150657
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Alex Narest <alexnarest@google.com>
Cr-Commit-Position: refs/heads/master@{#29005}
2019-08-29 12:57:14 +00:00
008213a45b Roll chromium_revision 9dd4f35a9d..52323b9fe0 (691474:691589)
Change log: 9dd4f35a9d..52323b9fe0
Full diff: 9dd4f35a9d..52323b9fe0

Changed dependencies
* src/base: c944af18d7..c2fc6e22b1
* src/build: 51f0c5b4fa..bfbf6cdf58
* src/ios: 7106826a8b..d703c43675
* src/testing: a8ac941559..c50c6e6fe8
* src/third_party: f6a794179c..8fc5bda490
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4b46042d2a..9b593a3406
* src/tools: 95ec06785d..2972a9a34a
DEPS diff: 9dd4f35a9d..52323b9fe0/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: If30b34e51e2e08c8ccca8016234d909a5c08e58e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150841
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#29004}
2019-08-29 12:33:39 +00:00
16946e3781 Remove unused StorageType enum
Bug: webrtc:10633
Change-Id: I65e1807c2e0419a51cd7274f85559d653c75046d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150644
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29003}
2019-08-29 12:32:34 +00:00
a2479f7dc4 Remove minimum bucket returned by histogram quantile function.
This fixes a bug in delay manager relative arrival delay mode that caused the effective minimum target level to be 2 packets instead of 1.

Bug: webrtc:10333
Change-Id: I33d32c8da692a3db22179edb923873d307f740fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150785
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29002}
2019-08-29 11:45:38 +00:00
b4a6128e28 Delete unneeded dependencies on libjingle_peerconnection_api
Also annotate a few of the remaining uses, to guide further splits of
that large build target.

Bug: webrtc:8733
Change-Id: I16ac33ab48e6d39a1a8dbc2a3fc671d8db6dbfe9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150789
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29001}
2019-08-29 10:52:42 +00:00
3fa4938faf Increased event log visualizer RTP clock estimation tolerance.
Increased the tolarence of the RTP clock estimation without causing overlap between any of the known frequencies.

Bug: None
Change-Id: I7c3ffa0e69b25799d740f7eed17c7bfd464cd254
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149835
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29000}
2019-08-29 10:08:43 +00:00
7fa42778b4 Fix for tsan failue in real time scenario tests.
The sink is only added once, but before this fix, the value was
updated to the same value, causing a tsan failure. This CL adds
a check so we don't update the value if it's set.

Bug: webrtc:10909
Change-Id: I46c8f7044f1441c0155b18881d1b8e0aeb7568c6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150783
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28999}
2019-08-29 09:35:46 +00:00
6dcd4dc56a New target for api/rtp_parameters.h and api/media_types.h.
The new target does not depend on libjingle_peerconnection_api, and to
do this, the named "audio" and "video" string literals had to be moved from
media_stream_interface.cc to media_types.cc.

In this cl, the dependency on libjingle_peerconnection_api can be
dropped from a few targets.

No-Presubmit: True
Bug: webrtc:8733
Change-Id: Icc675280d5c3c537f2255a9389ff18a482049921
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/53861
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28998}
2019-08-29 09:04:32 +00:00
7db900e2e7 Simplify pacer queue
This CL simplifies the pacer queue by removing the now unnecessary
beginpop/cancelpop/finalizepop methods. Instead there's a const top()
and a pop() much like an stl queue.
Old methods using the deprecated pacing code path are cleaned away.

Bug: webrtc:10633
Change-Id: Ib6da4d46a571bf56415172b790cc9e3f63206a38
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150522
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28997}
2019-08-29 08:42:45 +00:00
228900f8b1 Add TURN_LOGGING_ID to android sdk
This patch adds support for setting the TURN_LOGGING_ID
in RTCConfig using the android SDK.

TURN_LOGGING_ID was added to webrtc in
https://webrtc-review.googlesource.com/c/src/+/149829

The intended usage of this attribute is to correlate client and
backend logs.

bug: webrtc:10897
Change-Id: Ifd62e0f1dac396942c76a794bf7a75553d3244b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150538
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28996}
2019-08-29 06:55:42 +00:00
03307cb2b5 Roll chromium_revision acc73a9128..9dd4f35a9d (691348:691474)
Change log: acc73a9128..9dd4f35a9d
Full diff: acc73a9128..9dd4f35a9d

Changed dependencies
* src/base: 649e18a51f..c944af18d7
* src/build: b3dc85ce23..51f0c5b4fa
* src/ios: fff61d7294..7106826a8b
* src/testing: d4c8dcbb65..a8ac941559
* src/third_party: 38590684a8..f6a794179c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8e42ececca..4b46042d2a
* src/third_party/depot_tools: 217195ca2c..ee8d9ce83d
* src/tools: d133065acb..95ec06785d
DEPS diff: acc73a9128..9dd4f35a9d/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I22318df0bd65bf96619f48754d51419913de5d8b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150824
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28995}
2019-08-29 04:37:53 +00:00
5245501eaf Roll chromium_revision 8538f0b743..acc73a9128 (691247:691348)
Change log: 8538f0b743..acc73a9128
Full diff: 8538f0b743..acc73a9128

Changed dependencies
* src/build: 6fd0308a6c..b3dc85ce23
* src/ios: 1c9086b5ea..fff61d7294
* src/testing: 866f47eb20..d4c8dcbb65
* src/third_party: 756c67f7d7..38590684a8
* src/third_party/googletest/src: 6a3d632f40..eb56ee5a28
* src/tools: d4a68e5f06..d133065acb
DEPS diff: 8538f0b743..acc73a9128/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I7449a72cf5eadf0afbdec0d2812096b713d64a26
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150821
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28994}
2019-08-28 22:34:07 +00:00
703ea953f0 Only create a datagram RTP transport if the datagram transport should be used for RTP.
This was an oversight when integrating datagram-based data channels into
JsepTransportController.  If a DatagramTransport exists, but only to be
used for data channels, JsepTransportController will still create an RTP
transport for it and use it for RTP.

Bug: webrtc:9719
Change-Id: I93cdb8bfc03159882a83a9f5097d3ef99fed215f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150241
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28993}
2019-08-28 21:15:18 +00:00
dbec6d3b00 Roll chromium_revision f706cf738b..8538f0b743 (690793:691247)
Change log: f706cf738b..8538f0b743
Full diff: f706cf738b..8538f0b743

Changed dependencies
* src/base: 1a75063fa8..649e18a51f
* src/build: 02aea5d735..6fd0308a6c
* src/ios: dc5003e001..1c9086b5ea
* src/testing: 0f6cf75689..866f47eb20
* src/third_party: a59905f75e..756c67f7d7
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7ad424d601..8e42ececca
* src/third_party/depot_tools: 59099ed6ee..217195ca2c
* src/third_party/ffmpeg: 0f36d36f49..d7ba23c234
* src/third_party/freetype/src: 9adc3b35f1..cbee985a2b
* src/third_party/googletest/src: ed2eef6543..6a3d632f40
* src/third_party/libvpx/source/libvpx: 18d309c127..305a5283c5
* src/tools: e3ccaa184a..d4a68e5f06
DEPS diff: f706cf738b..8538f0b743/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,marpan@webrtc.org, jianj@chromium.org,
BUG=None

Change-Id: I65dec1a72de8b3f251b835cddf2891c8815c8d66
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150820
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28992}
2019-08-28 18:34:10 +00:00
fa046b34f3 Remove unused using statements in webrtc_sdp.cc
Bug: None
Change-Id: Ifabf9a4204c087354fa4cdb8e0f6c77183c2b19d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150781
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Elad Alon <eladalon@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28991}
2019-08-28 18:26:56 +00:00
10b636138d Add license for android_ndk
Bug: webrtc:10923
Change-Id: Ic2f40329964d0d3f65bd85e7d00ab1e49fb71123
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150643
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28990}
2019-08-28 14:57:28 +00:00
d191533717 Fix wrong-import-order pylint errors in quality_assessment.signal_processing module.
Bug: webrtc:10924
Change-Id: I9aeb062f1e4b4e061192b42b9a1f8b061fbbb8c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150646
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28989}
2019-08-28 14:48:28 +00:00
4b9701e065 Fix simulcast tests and PC framework for conference mode support
Bug: webrtc:10138
Change-Id: I19dce2c9b7a066d517861774fd888ad0a0d74103
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150648
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28988}
2019-08-28 13:23:13 +00:00
149dc72dfa Add support for RTCTransportStats.selectedCandidatePairChanges
This patch adds accounting and reporting needed for
newly added RTCTransportStats.selectedCandidatePairChanges,
https://w3c.github.io/webrtc-stats/#dom-rtctransportstats-selectedcandidatepairchanges

a) P2PTransportChannel counts everytime selected_connection_
is modified and reports this counter in the GetStats()-call.
b) RTCStatsCollector puts the counter into the standardized
stats object.

Bug: webrtc:10900
Change-Id: Ibaeca18706b8edcbcb44b0c6f2754854bcb545ba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149830
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28987}
2019-08-28 13:22:08 +00:00
3b69817e62 Revert "Reland "Preserve min and max playout delay from RTP header extension""
This reverts commit 87bed4793ff8f463202f442381339626d0b27f0d.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Reland "Preserve min and max playout delay from RTP header extension"
> 
> This reverts commit f31cc08ba01ed403e89255b5f3f38d5dbdde855e.
> 
> Reason for revert: Reland with fixes
> 
> Original change's description:
> > Revert "Preserve min and max playout delay from RTP header extension"
> > 
> > This reverts commit 85ba9972c42544c4771e394c9aa1d20bf5d09a91.
> > 
> > Reason for revert: Audio might be more out of sync than needed due to jitter in received video stream.
> > 
> > Original change's description:
> > > Preserve min and max playout delay from RTP header extension
> > > 
> > > Audio and video synchronization can sometimes override the minimum
> > > and maximum playout delay that is set through the RTP header
> > > extension. This CL makes sure that the playout delay always is
> > > within the limits set by the RTP header extension.
> > > 
> > > Bug: webrtc:10886
> > > Change-Id: Ie2dd4b901c4ed178759b555a8be04bd8b8f63bda
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150645
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#28980}
> > 
> > TBR=stefan@webrtc.org,kron@webrtc.org
> > 
> > Change-Id: I417e440d8a7e04ab3e19faa4454b704d2b971cd7
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:10886
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150652
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#28984}
> 
> TBR=stefan@webrtc.org,kron@webrtc.org
> 
> Change-Id: I5a3908a8c45f7faedab6f009b22df81d674e13a0
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10886
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150653
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28985}

TBR=stefan@webrtc.org,kron@webrtc.org

Change-Id: Id2e5d1ff804881e956a07fa4ae0f8301895dcc95
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10886
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150654
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28986}
2019-08-28 12:41:56 +00:00
87bed4793f Reland "Preserve min and max playout delay from RTP header extension"
This reverts commit f31cc08ba01ed403e89255b5f3f38d5dbdde855e.

Reason for revert: Reland with fixes

Original change's description:
> Revert "Preserve min and max playout delay from RTP header extension"
> 
> This reverts commit 85ba9972c42544c4771e394c9aa1d20bf5d09a91.
> 
> Reason for revert: Audio might be more out of sync than needed due to jitter in received video stream.
> 
> Original change's description:
> > Preserve min and max playout delay from RTP header extension
> > 
> > Audio and video synchronization can sometimes override the minimum
> > and maximum playout delay that is set through the RTP header
> > extension. This CL makes sure that the playout delay always is
> > within the limits set by the RTP header extension.
> > 
> > Bug: webrtc:10886
> > Change-Id: Ie2dd4b901c4ed178759b555a8be04bd8b8f63bda
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150645
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#28980}
> 
> TBR=stefan@webrtc.org,kron@webrtc.org
> 
> Change-Id: I417e440d8a7e04ab3e19faa4454b704d2b971cd7
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10886
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150652
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28984}

TBR=stefan@webrtc.org,kron@webrtc.org

Change-Id: I5a3908a8c45f7faedab6f009b22df81d674e13a0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10886
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150653
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28985}
2019-08-28 12:40:53 +00:00
f31cc08ba0 Revert "Preserve min and max playout delay from RTP header extension"
This reverts commit 85ba9972c42544c4771e394c9aa1d20bf5d09a91.

Reason for revert: Audio might be more out of sync than needed due to jitter in received video stream.

Original change's description:
> Preserve min and max playout delay from RTP header extension
> 
> Audio and video synchronization can sometimes override the minimum
> and maximum playout delay that is set through the RTP header
> extension. This CL makes sure that the playout delay always is
> within the limits set by the RTP header extension.
> 
> Bug: webrtc:10886
> Change-Id: Ie2dd4b901c4ed178759b555a8be04bd8b8f63bda
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150645
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28980}

TBR=stefan@webrtc.org,kron@webrtc.org

Change-Id: I417e440d8a7e04ab3e19faa4454b704d2b971cd7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10886
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150652
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28984}
2019-08-28 12:38:43 +00:00
fdd2340311 Revert "Detect leaks of TextureBufferImpl objects."
This reverts commit 44bd29a3b068363e013cd425c68fd00dba21d633.

Reason for revert:
Going for an alternative implementation that makes this unnecessary
https://webrtc-review.googlesource.com/c/src/+/150649

Original change's description:
> Detect leaks of TextureBufferImpl objects.
>
> The performance cost is not trivial but according to my profiling,
> it is acceptable.
>
> Bug: b/139745386
> Change-Id: I0e63221ccf22e9f6fb32c630ff63a279e765994a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150539
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28973}

TBR=sakal@webrtc.org,kthelgason@webrtc.org

Change-Id: Ic6266e5fd24389d41a6d5dbfe51de6505b861b12
Bug: b/139745386
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150650
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28983}
2019-08-28 12:35:04 +00:00
050e38f7c4 Add --trace_event option to capture events in unit tests.
Usage example:
  % out/head/modules_unittests --gtest_filter="MyTest" --trace_event=trace_event.json

The resulting file can be uploaded into chrome for nice visualization
(chrome://tracing).

Bug: webrtc:10926
Change-Id: I420b9dff0626126f25e993fd31c3f2622329f858
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150647
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#28982}
2019-08-28 12:26:51 +00:00
7f65932073 Fix for sanitizer bot failure in AudioUsesAbsSendTimeExtension
Bug: webrtc:10904
Change-Id: Id37a88afd85c522a7973f6dc9e8dd331a04d3fae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150325
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28981}
2019-08-28 11:27:54 +00:00
85ba9972c4 Preserve min and max playout delay from RTP header extension
Audio and video synchronization can sometimes override the minimum
and maximum playout delay that is set through the RTP header
extension. This CL makes sure that the playout delay always is
within the limits set by the RTP header extension.

Bug: webrtc:10886
Change-Id: Ie2dd4b901c4ed178759b555a8be04bd8b8f63bda
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150645
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28980}
2019-08-28 11:00:02 +00:00
5e8ddc360b Reland "Delete mac_utils.h and mac_utils.cc"
This is a reland of ada8e17125d2124f5bcdc1558182ce95d6311d93

Original change's description:
> Delete mac_utils.h and mac_utils.cc
>
> They defined two functions: ToUtf16 and ToUtf8. The former was unused,
> and the latter is moved to
> modules/desktop_capture/mac/window_list_utils.cc, the only user.
>
> Tbr: sergeyu@chromium.org
> Bug: None
> Change-Id: Ib8a513da42e43ba8d41a2de4c1645b3f48448dc9
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148531
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Sergey Ulanov <sergeyu@google.com>
> Cr-Commit-Position: refs/heads/master@{#28913}

Tbr: kthelgason@webrtc.org
Bug: None
Change-Id: Icda3a2d6e98cfcaf8618035c248104c234e809ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150109
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28979}
2019-08-28 09:30:32 +00:00
fac7e31814 Removes TransportSequenceNumberAllocator
This interface/config field is now unused, let's remove it.

Bug: webrtc:10633
Change-Id: I56ff3d47ba784d973de411ada52ec9485bad9864
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150531
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28978}
2019-08-28 08:08:37 +00:00
a370556270 Refactor to free up PacketBuffer as soon as possible
The packets belonging to a frame were kept in PacketBuffer
until the frame was decoded. This CL clears the dependencies
of an existing RtpFrameObject to PacketBuffer so that we can
free up PacketBuffer as soon as the RtpFrameObject is created.

Bug: none
Change-Id: Ic939be91815519ae1d1c67ada82006417b2d26a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149818
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28977}
2019-08-28 08:07:32 +00:00
caef51e25a Consolidate FEC book-keeping
Number of received FEC bytes is used for the
WebRTC.Video.FecBitrateReceivedInKbps UMA histogram. Before this cl,
that value is based on a FEC packet counter updated by
ReceiveStatistics::FecPacketReceived. This cl deletes that method, and
instead adds a byte count to the FecPacketCounter struct, which is
maintained by the UlpFecReceiver and used for other FEC-related stats.

Bug: webrtc:10917
Change-Id: I24bd494b6909a2fe109d28e2b71ca8f413d05911
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150533
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28976}
2019-08-28 06:56:12 +00:00
2d5aec56fd Roll chromium_revision abb1ee24a4..f706cf738b (690691:690793)
Change log: abb1ee24a4..f706cf738b
Full diff: abb1ee24a4..f706cf738b

Changed dependencies
* src/base: f283357afd..1a75063fa8
* src/build: 2250dc6f7c..02aea5d735
* src/ios: 98c3dac131..dc5003e001
* src/third_party: 796dd67cab..a59905f75e
* src/tools: b872f472fb..e3ccaa184a
DEPS diff: abb1ee24a4..f706cf738b/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I7d18e1205e746ecf8a4e3b177a5b0c2a670e6101
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150603
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28975}
2019-08-27 18:32:05 +00:00
70768f4a8e Remove usage of StorageType enum
Previously the kDontRetransmit value was used to indicate packets that
should not be retransmitted but were put in the RtpPacketHistory anyway
as a temporary storage while waiting for a callback from PacedSender.
Since PacedSender now always owns the delayed packets directly, we can
remove all usage of StorageTye in RtpPacketHistory, and only put
packets there after pacing if RtpPacketToSend::allow_retransmission()
returns true.

Bug: webrtc:10633
Change-Id: I003b76ba43bd87658cc2a39e908fd28ebcd403f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150521
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28974}
2019-08-27 16:48:33 +00:00
44bd29a3b0 Detect leaks of TextureBufferImpl objects.
The performance cost is not trivial but according to my profiling,
it is acceptable.

Bug: b/139745386
Change-Id: I0e63221ccf22e9f6fb32c630ff63a279e765994a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150539
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28973}
2019-08-27 13:53:48 +00:00
de21bf4cd3 Roll chromium_revision 925c16d3e7..abb1ee24a4 (690586:690691)
Change log: 925c16d3e7..abb1ee24a4
Full diff: 925c16d3e7..abb1ee24a4

Changed dependencies
* src/base: 256225bdc9..f283357afd
* src/build: 3f22131f84..2250dc6f7c
* src/ios: f7415575d2..98c3dac131
* src/testing: edc35efc46..0f6cf75689
* src/third_party: 4c85cff6ab..796dd67cab
* src/third_party/depot_tools: 0e5fff1a88..59099ed6ee
* src/tools: 936903eeec..b872f472fb
DEPS diff: 925c16d3e7..abb1ee24a4/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ie89f536e7add447e861d21887989d56ce7339580
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150621
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28972}
2019-08-27 12:59:22 +00:00
4271afbc30 Fix the bug and reland "Make min video target bitrate configurable."
This reverts commit 7e896d01623e136313757b6f97d99ea21586f4c4.

Reason for revert: Fixed the bug and submit again.

Original change's description:
> Revert "Make min video target bitrate configurable."
>
> This reverts commit a471e797bc6bb5d26375e4c56ff4aacbab08b8a9.
>
> Reason for revert: This CL adds a new symbol to .data instead of .rodata and the symbol should be a constant.
>
> Original change's description:
> > Make min video target bitrate configurable.
> >
> > Change-Id: I5adf1e675be2114b648878078a8f2e6808c390c7
> > Bug: webrtc:10915
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150331
> > Commit-Queue: Ying Wang <yinwa@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Reviewed-by: Erik Språng <sprang@webrtc.org>
> > Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#28959}
>
> TBR=nisse@webrtc.org,sprang@webrtc.org,crodbro@webrtc.org,yinwa@webrtc.org
>
> Change-Id: I90f23c2c849a6ec518710bbcbdd8e9eb249e9de8
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:10915
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150534
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28967}

TBR=mbonadei@webrtc.org,nisse@webrtc.org,sprang@webrtc.org,crodbro@webrtc.org,yinwa@webrtc.org

Change-Id: Ieef4972502e3c1e5a6e80d8909718dd312486a8e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10915
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150537
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28971}
2019-08-27 11:12:12 +00:00
30ab015fc9 BalancedDegradationSettings: add min bitrate configuration for resolution.
Add separate setting for configuring min bitrate that only applies when
adapting up in resolution.

Bug: none
Change-Id: I83d33ac3110a22602065b8d83130e3f619cb1eba
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150329
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Mirta Dvornicic <mirtad@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28970}
2019-08-27 11:05:10 +00:00
31d1bcef23 Fix deadlock in VideoSendStream tests, cause of flake on some bots.
Bug: webrtc:10861, webrtc:10880
Change-Id: Ic3ff9fab420e1fd634f58ef86d2f8890e23cfd03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150220
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28969}
2019-08-27 10:05:07 +00:00
0c141c591a Fix frames dropped statistics
The |frames_dropped| statistics contain not only frames that are dropped
but also frames that are in internal queues. This CL changes that so
that |frames_dropped| only contains frames that are dropped.

Bug: chromium:990317
Change-Id: If222568501b277a75bc514661c4f8f861b56aaed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150111
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28968}
2019-08-27 07:43:01 +00:00
7e896d0162 Revert "Make min video target bitrate configurable."
This reverts commit a471e797bc6bb5d26375e4c56ff4aacbab08b8a9.

Reason for revert: This CL adds a new symbol to .data instead of .rodata and the symbol should be a constant.

Original change's description:
> Make min video target bitrate configurable.
> 
> Change-Id: I5adf1e675be2114b648878078a8f2e6808c390c7
> Bug: webrtc:10915
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150331
> Commit-Queue: Ying Wang <yinwa@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#28959}

TBR=nisse@webrtc.org,sprang@webrtc.org,crodbro@webrtc.org,yinwa@webrtc.org

Change-Id: I90f23c2c849a6ec518710bbcbdd8e9eb249e9de8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10915
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150534
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28967}
2019-08-27 07:28:44 +00:00
3c02842f2e Add TURN_LOGGING_ID
This patch adds a new (optional) attribute to TURN_ALLOCATE_REQUEST,
TURN_LOGGING_ID (0xFF05).

The attribute is put into the comprehension-optional range
so that a TURN server should ignore it if it doesn't know if.
https://tools.ietf.org/html/rfc5389#section-18.2

The intended usage of this attribute is to correlate client and
backend logs.

Bug: webrtc:10897
Change-Id: I51fdbe15f9025e817cd91ee8e2c3355133212daa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/149829
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28966}
2019-08-27 07:18:00 +00:00
0949c89739 Roll chromium_revision c7011257bb..925c16d3e7 (690474:690586)
Change log: c7011257bb..925c16d3e7
Full diff: c7011257bb..925c16d3e7

Changed dependencies
* src/build: 1eff8763a0..3f22131f84
* src/ios: d8220647e1..f7415575d2
* src/third_party: 1535529d56..4c85cff6ab
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/44544d9d2d..05cd93068b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/83d2edf28b..7ad424d601
* src/third_party/freetype/src: 7d1d3b9a0e..9adc3b35f1
* src/tools: 05511558f4..936903eeec
DEPS diff: c7011257bb..925c16d3e7/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: Ifc5071c1317727263d9116e22708c816c9e71ee1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150580
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28965}
2019-08-27 02:31:29 +00:00
f5e0e50a8e Roll chromium_revision 004b50827c..c7011257bb (690310:690474)
Change log: 004b50827c..c7011257bb
Full diff: 004b50827c..c7011257bb

Changed dependencies
* src/base: ec564fc8be..256225bdc9
* src/build: b077544e00..1eff8763a0
* src/ios: cff61cbe15..d8220647e1
* src/testing: 6a4f369f93..edc35efc46
* src/third_party: cffc0503c7..1535529d56
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/1078fdda6a..83d2edf28b
* src/third_party/depot_tools: 31f187e5c0..0e5fff1a88
* src/third_party/freetype/src: 734d60f63c..7d1d3b9a0e
* src/tools: f999fad1c0..05511558f4
DEPS diff: 004b50827c..c7011257bb/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I75ad915ec17c05404a20cabaf821010051b78f69
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150541
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#28964}
2019-08-26 20:31:52 +00:00
1fbfecd81f Use a pass-through pacer instead of special-cased pacerless mode
This CL removes the old non-paced code path and instead uses a helper
class to just immediately pass the packet through the same code path as
when an actual pacer is used.

Bug: webrtc:10633
Change-Id: Id9a3ee4719829ad07710f5468e5452aa4bc8570b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150530
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28963}
2019-08-26 20:05:12 +00:00