Commit Graph

23698 Commits

Author SHA1 Message Date
84ccb2de77 Remove kVideoCodecUnknown from WebRTC.
There is no difference between how we handle "generic" and "unkown" codecs,
so we don't need to represent both.

Bug: webrtc:8136
Change-Id: I42b0dbc8a0bae67cc21742303c963c8dd5bde1f6
Reviewed-on: https://webrtc-review.googlesource.com/92086
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24316}
2018-08-16 15:15:39 +00:00
fa2b2d62d7 Delete use of RtpPayloadRegistry.
Use in voe::Channel replaced by a std::map storing payload type frequencies.
This is a followup to
https://webrtc-review.googlesource.com/c/src/+/93820.

Bug: webrtc:7135
Change-Id: I874b706aee19fdc2d841db42a540e4f7aa2725f1
Reviewed-on: https://webrtc-review.googlesource.com/94508
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24315}
2018-08-16 14:44:25 +00:00
e23b8a9899 Do not use FakeNetworkPipe::SetConfig.
Switch from using FakeNetworkPipe::SetConfig on holding direct reference
on instances of NetworkSimulationInterface if you are required to
reconfigure it in the runtime.

Also add fake_network_unittests to built test targets.

Bug: webrtc:9630
Change-Id: I5fd6b33904367aa6dc00ca2e2f5f780f433acf35
Reviewed-on: https://webrtc-review.googlesource.com/94510
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24314}
2018-08-16 14:23:29 +00:00
c4deaaa7c5 Set AEC2 suppression to high by default
The other modes are little-tested and nigh-unsupported.
Surrounding APM code is tuned for high suppression.

Both WebRtcVoiceEngine and Chrome default all usage to high
suppression.

Bug: webrtc:9535
Change-Id: Ic1a6bd90b86a994338addfef7f473132ab43092a
Reviewed-on: https://webrtc-review.googlesource.com/91865
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24313}
2018-08-16 12:14:14 +00:00
537b7fed9a Add FakeNetworkPipe ctor from NetworkSimulationInterface.
Add FakeNetworkPipe ctor from NetworkSimulationInterface to be able to
inject different implementations of simulated networks.

If user requires to do something with injected simulation he can keep
raw reference, or introduce some proxy, that will hide shared ownership
from FakeNetworkPipe. Also FakeNetworkPipe guarantee to keep simulation
object alive while it is alive itself.

Bug: webrtc:9630
Change-Id: Ie00ea1d47bf7658b0c6433cf2efbf364f885c8a0
Reviewed-on: https://webrtc-review.googlesource.com/94153
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24312}
2018-08-16 11:37:38 +00:00
e9721f2f08 Move SimulatedNetworkConfig on top level.
Make SimulatedNetwrokConfig configuration of default implementation of
NetworkSimulationInterface, that will be used by WebRTC in case of
network simulation.

Bug: webrtc:9630
Change-Id: Ib7c3d0c69fc09627f3d8694e61ac8409101e8392
Reviewed-on: https://webrtc-review.googlesource.com/94154
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24311}
2018-08-16 10:45:20 +00:00
3daabad0b5 Remove deprecated fields from RtcpStatistic struct
These two fields were deprecated year ago in
https://codereview.webrtc.org/2992043002/

Bug: webrtc:8033
Change-Id: Ia54b19819a72d206fc87cf51ea7f148d03ea285b
Reviewed-on: https://webrtc-review.googlesource.com/94155
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24310}
2018-08-16 10:23:43 +00:00
30b4839d10 Refactor voe::Channel to not use RtpReceiver.
Analogous to https://webrtc-review.googlesource.com/c/src/+/92398, for
RtpVideoStreamReceiver.

Bug: webrtc:7135
Change-Id: I0639f9982da2ed80edbcf900cf14f8ae982ef80c
Reviewed-on: https://webrtc-review.googlesource.com/93820
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24309}
2018-08-16 10:18:20 +00:00
4eb4b05556 Delete unused method VideoReceiver::SetMinReceiverDelay
Bug: None
Change-Id: I4d3b74c2af53177355e92d3f9190d6ea58552c8f
Reviewed-on: https://webrtc-review.googlesource.com/94061
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24308}
2018-08-16 10:00:14 +00:00
213168f4c3 Remove a static initializer in default_temporal_layers.cc
kAllBuffers in default_temporal_layers.cc introduces a static initializer,
that is banned in Chromium, and that blocks WebRTC roll into Chromium.

This CL removes it to unblock.

Bug: webrtc:9012
Change-Id: Ide181f63d85748dc2d09199024f1b80868d485fd
Reviewed-on: https://webrtc-review.googlesource.com/94460
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24307}
2018-08-16 08:52:14 +00:00
639602ace3 Activate initial framedrop when first BW estimate arrives
Bug: webrtc:9176, webrtc:6086
Change-Id: I420f8a0c6191697f7b50aaf780cf90a4ea365739
Reviewed-on: https://webrtc-review.googlesource.com/79580
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24306}
2018-08-16 08:41:39 +00:00
be3d455df0 Add RTCCertificate to framework headers.
Bug: webrtc:9498
Change-Id: I3902d73741f78ab58188b0d4c6865afce9eff104
Reviewed-on: https://webrtc-review.googlesource.com/94481
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24305}
2018-08-16 08:40:19 +00:00
aa91b3c67e Hooks up more AEC3 parameters to be read by the AEC3 configuration file
Bug: webrtc:8671
Change-Id: I593ea4965ab2f8215e5d55e0778caf83cf62d4e1
Reviewed-on: https://webrtc-review.googlesource.com/94480
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24304}
2018-08-16 08:30:48 +00:00
315ce5b308 Remove unused members in rtp_rtcp tests and make some members const.
Bug: none
Change-Id: I5f92899742406157d94de235e7c1a50755b3ac61
Reviewed-on: https://webrtc-review.googlesource.com/92393
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24303}
2018-08-16 07:53:16 +00:00
b889a20968 Change the default behaviour rtc_builtin_ssl_root_certificates.
Instead of defining a pre-processor macro when someone wants to
include built-in ssl roots certs, this CL switches the default and
assumes everyone prefer to include built-in ssl roots certs.

If built-in ssl roots certs are not needed because they are injected
in the PeerConnection it will be possible to define a pre-processor
macro (WEBRTC_EXCLUDE_BUILT_IN_SSL_ROOT_CERTS) to remove them.

In a GN build it is possible to tell GN to define the macro by setting
rtc_builtin_ssl_root_certificates to false in "gn args".

Bug: webrtc:9332
Change-Id: Icc3f2caeddca6899cbc5974f21b480d75d15556f
Reviewed-on: https://webrtc-review.googlesource.com/94147
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24302}
2018-08-16 06:49:42 +00:00
6f2f073028 Revert "Remove linux_internal_compile_lite from CQ."
This reverts commit 0047bce0a9434ab8cce12458b1b80fbcc3bab9e2.

Reason for revert: The trybot works now

Original change's description:
> Remove linux_internal_compile_lite from CQ.
> 
> TBR: phoglund@webrtc.org
> No-Try: True
> Bug: None
> Change-Id: I83a7613f3fa81e36ea09dcb13082316de39867d6
> Reviewed-on: https://webrtc-review.googlesource.com/92623
> Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
> Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24195}

Bug: None
Change-Id: I7d176c8acaf7be93a286659bbd360aa578c0a78e
Reviewed-on: https://webrtc-review.googlesource.com/94360
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24301}
2018-08-16 06:31:58 +00:00
b8d0d11e21 Roll chromium_revision 636e4e8cc4..7e9f692ee3 (583445:583557)
Change log: 636e4e8cc4..7e9f692ee3
Full diff: 636e4e8cc4..7e9f692ee3

Changed dependencies:
* src/base: 0641290c52..cbd51013ad
* src/ios: f725714b07..e279e55447
* src/testing: 1cab0450a3..8da3d81830
* src/third_party: 463ffb905c..f7ce0a7baf
* src/third_party/android_ndk: https://chromium.googlesource.com/android_ndk.git/+log/5cd86312e7..4e2cea441b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/fc13545ed4..f5981fb3c2
* src/third_party/depot_tools: ba883cb5ed..3d429cf513
* src/tools: 3b65c56174..91e408e45d
DEPS diff: 636e4e8cc4..7e9f692ee3/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal_compile_lite

Change-Id: I775faf9f6c9d8fddf0efc5da96aded31cc14381f
Reviewed-on: https://webrtc-review.googlesource.com/94445
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24300}
2018-08-16 06:01:44 +00:00
b3ff8ee7b6 Roll chromium_revision 858c0de5ad..636e4e8cc4 (583305:583445)
Change log: 858c0de5ad..636e4e8cc4
Full diff: 858c0de5ad..636e4e8cc4

Changed dependencies:
* src/base: 632d99d8db..0641290c52
* src/build: e322d9cf51..7679962964
* src/buildtools: 9a90d9aaad..2dff9c9c74
* src/ios: 8402344fe9..f725714b07
* src/testing: ffe8c848fd..1cab0450a3
* src/third_party: f94ca0cb97..463ffb905c
* src/third_party/depot_tools: af03ae194f..ba883cb5ed
* src/third_party/harfbuzz-ng/src: b6fdcf4f8b..22defe0965
* src/tools: 49e9e90d54..3b65c56174
DEPS diff: 858c0de5ad..636e4e8cc4/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal_compile_lite

Change-Id: I7ca135752346981b5ae4184e0c482d6b8ddb9c08
Reviewed-on: https://webrtc-review.googlesource.com/94421
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24299}
2018-08-16 00:48:08 +00:00
e86512d5c0 Revert "Optimize execution time of RTPSender::UpdateDelayStatistics"
This reverts commit 733df738e30d35d33490d6959de5fdba9eb4dc83.

Reason for revert: Breaking internal tests

Original change's description:
> Optimize execution time of RTPSender::UpdateDelayStatistics
> 
> Bug: webrtc:9439
> Change-Id: I908e9ced10031c614678a89657d089cb9a66b9ce
> Reviewed-on: https://webrtc-review.googlesource.com/92391
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Reviewed-by: Philip Eliasson <philipel@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24295}

TBR=terelius@webrtc.org,asapersson@webrtc.org,philipel@webrtc.org

Change-Id: Ic76a02572aa841cf66f6a2805e0ce0161e27ea02
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9439
Reviewed-on: https://webrtc-review.googlesource.com/94400
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24298}
2018-08-15 22:24:41 +00:00
77c8e65b88 Update multiplex encoder to support having augmenting data attached to the video
Multiplex encoder is now supporting attaching user-defined data to the video
frame. This data will be sent with the video frame and thus is guaranteed to
be synchronized. This is useful in cases where the data and video frame need
to by synchronized such as sending information about 3D objects or camera
tracking information with the video stream

Multiplex Encoder with data is implemented in a modular way. A new
VideoFrameBuffer type is created with the encoder. AugmentedVideoFrameBuffer
holds the video frame and the data. MultiplexVideoEncoder encodes both
the frame and data.

Change-Id: I23263f70d111f6f1783c070edec70bd11ebb9868
Bug: webrtc:9632
Reviewed-on: https://webrtc-review.googlesource.com/92642
Commit-Queue: Tarek Hefny <tarekh@google.com>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24297}
2018-08-15 21:54:17 +00:00
ed125fb2f3 Roll chromium_revision 60eb76e65c..858c0de5ad (583181:583305)
Change log: 60eb76e65c..858c0de5ad
Full diff: 60eb76e65c..858c0de5ad

Changed dependencies:
* src/build: 3ae3c03905..e322d9cf51
* src/ios: 2197360460..8402344fe9
* src/testing: b797c58e93..ffe8c848fd
* src/third_party: f506abeeed..f94ca0cb97
* src/third_party/depot_tools: 52c7211807..af03ae194f
* src/tools: a4b36d2aaf..49e9e90d54
DEPS diff: 60eb76e65c..858c0de5ad/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal_compile_lite

Change-Id: I0a38e1866d866d3cb877b8bc528ba20d46cc22ad
Reviewed-on: https://webrtc-review.googlesource.com/94337
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24296}
2018-08-15 18:03:57 +00:00
733df738e3 Optimize execution time of RTPSender::UpdateDelayStatistics
Bug: webrtc:9439
Change-Id: I908e9ced10031c614678a89657d089cb9a66b9ce
Reviewed-on: https://webrtc-review.googlesource.com/92391
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24295}
2018-08-15 17:53:04 +00:00
cdb87f1a65 Add a missing #include from jsepicecandidate.cc to absl/memory/memory.h
jsepicecandidate.cc uses absl::make_unique without including
absl/memory/memory.h. This happens to work in C++14 due to a transitive
#include, but doesn't work in C++17.

Bug: chromium:752720
Change-Id: I995496f452b9eaa2e70b82cd3b7926b936d7dac0
Reviewed-on: https://webrtc-review.googlesource.com/94340
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24294}
2018-08-15 15:19:07 +00:00
f5033ad201 In (new) estimator of encoder cpu load, count max per input frame.
Bug: webrtc:9619
Change-Id: Ifc874fa3bd069e48a10fec57b673546aafd070e3
Reviewed-on: https://webrtc-review.googlesource.com/94143
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24293}
2018-08-15 15:16:47 +00:00
a955849901 Add APM config flag for legacy moderate suppression level in AEC2
This will be hooked up in clients who need to keep using the moderate
suppression level in AEC2 until other tuning options are available.

Bug: webrtc:9535
Change-Id: I6c40898954d9c856f58bcea87271f4b98fa124de
Reviewed-on: https://webrtc-review.googlesource.com/94148
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24292}
2018-08-15 14:56:06 +00:00
9701e0ce2f Makes treatment of received reports of packets lost signed.
Bug: webrtc:9598
Change-Id: I0f6ffe348585b8ec69753089652812da516d33d8
Reviewed-on: https://webrtc-review.googlesource.com/93021
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24291}
2018-08-15 14:27:23 +00:00
f3122e0efe Gain metrics for digital adaptive AGC.
We add 2 metrics for measuring applied digital gain to
AgcManagerDirect. We also add an applied gain and an estimated noise
metric to Agc2.

Chromium histogram CL is
https://chromium-review.googlesource.com/c/chromium/src/+/1170833

Bug: webrtc:7494
Change-Id: Ie40873f9e43bc7d34d8f5473cd73bd47eb84e855
Reviewed-on: https://webrtc-review.googlesource.com/93468
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24290}
2018-08-15 13:44:46 +00:00
847a9c70c2 Use NetworkSimulationInterface instead of SimulatedNetwork.
Switch on using NetworkSimulatedInterface in FakeNetwork pipe to be able
to inject different implementations in future.

Also temporary add SetConfig(...) method to NetworkSimulationInterface
to make it possible to use it in FakeNetworkPipe. This method will be
removed by futher refactoring.

Bug: webrtc:9630
Change-Id: I2ce2219f523b4121e46643699ab87b37da09d95b
Reviewed-on: https://webrtc-review.googlesource.com/94145
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24289}
2018-08-15 10:21:10 +00:00
b75d6b8dc3 Refactor vp8 temporal layers with inferred sync and search order
This CL introduces a few changes to the default VP8 temporal layers:
* The pattern is now reset on keyframes
* The sync flag is inferred rather than hard-coded
* Support is added for buffer search order

Bug: webrtc:9012
Change-Id: Ice19d32413d20982368a01a7d2540d155e185ad4
Reviewed-on: https://webrtc-review.googlesource.com/91863
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24288}
2018-08-15 10:14:36 +00:00
fa4e185684 Delete class voe::RtcEventLogProxy
Bug: None
Change-Id: Ic0c380e2f7f844a0e06c8c2a3d8bcb42ecee1eba
Reviewed-on: https://webrtc-review.googlesource.com/94040
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24287}
2018-08-15 09:59:15 +00:00
7d2df3f848 Inline one-line RtpPacket getters
inlining these accessors both reduce binary size and, likely, slightly improve performance.

Bug: None
Change-Id: I4d1f3285afb044946b9611ad36d5d093299c19a9
Reviewed-on: https://webrtc-review.googlesource.com/94146
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24286}
2018-08-15 09:41:20 +00:00
20317f9ca4 Clear encoded frame map on gap in timestamp.
Keep a small window in order to distinguish old and new timestamp.

Bug: chromium:816819
Change-Id: Iefa694c744e8e4b19d3857c567162cdc9410b4da
Reviewed-on: https://webrtc-review.googlesource.com/94141
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24285}
2018-08-15 09:31:39 +00:00
03ad9b892c Fine-grained limiter metrics.
The FixedGainController is used in two places.
One is the AudioMixer. There it's used to limit the audio level after
adding streams. The other is GainController2, where it's placed after
steps that could boost the audio level outside the allowed range.

We log metrics from the FGC. To avoid confusion, this CL makes the two
use cases log to different histograms.

Chromium histogram CL is
https://chromium-review.googlesource.com/c/chromium/src/+/1170833

Bug: webrtc:7494
Change-Id: I1abe60fd8e96556f144d2ee576254b15beca1174
Reviewed-on: https://webrtc-review.googlesource.com/93464
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24284}
2018-08-15 08:32:18 +00:00
f689d4c465 Atomically increment GainControl instance counter.
Fixes potential data race.

TBR: saza@webrtc.org
Bug: None
Change-Id: I56477566b761884cdb04c20852b8a4f16c158369
Reviewed-on: https://webrtc-review.googlesource.com/94081
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24283}
2018-08-15 07:44:00 +00:00
61e511afbe Delete unneeded forward declares of vcm::VideoReceiver.
Bug: None
Change-Id: Ic3a8a4c937f7727dcc4017fec39980e76f3ea0cd
Reviewed-on: https://webrtc-review.googlesource.com/94042
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24282}
2018-08-15 07:42:36 +00:00
203f9afc59 Roll chromium_revision 5edb31a0cd..60eb76e65c (582911:583181)
Change log: 5edb31a0cd..60eb76e65c
Full diff: 5edb31a0cd..60eb76e65c

Changed dependencies:
* src/base: 94235ec304..632d99d8db
* src/build: 188e8c57a7..3ae3c03905
* src/ios: 9df813679a..2197360460
* src/testing: 91f6974c3d..b797c58e93
* src/third_party: 0ab32a0a7d..f506abeeed
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/6410e18e91..6b0d82229b
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/193e933801..fc13545ed4
* src/third_party/depot_tools: 6a4e31b488..52c7211807
* src/tools: 360e3c21b5..a4b36d2aaf
DEPS diff: 5edb31a0cd..60eb76e65c/DEPS

Clang version changed 337439:338452
Details: 5edb31a0cd..60eb76e65c/tools/clang/scripts/update.py

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal_compile_lite

Change-Id: I1c838cb251e0461cf1c929ac590a89f385a2d366
Reviewed-on: https://webrtc-review.googlesource.com/94326
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24281}
2018-08-15 07:17:03 +00:00
6f80f098ec Adds the custom TLS certificate verifier pointer to the reconfigure option as
well. This allows the verifier to be attached at a later point after ice
candidates.

Bug: webrtc:9623
Change-Id: I06f31256c494f6a790c6047e8602b8665dfe2f7e
Reviewed-on: https://webrtc-review.googlesource.com/93943
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24280}
2018-08-14 17:58:24 +00:00
51ef008ef6 Video bitrate allocator factory interface for custom video bitrate allocator
Bug: webrtc:9513
Change-Id: If5719f4f71a2a9e44b2aaa0b592d3921b68ba5d9
Reviewed-on: https://webrtc-review.googlesource.com/92280
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Jiawei Ou <ouj@fb.com>
Cr-Commit-Position: refs/heads/master@{#24279}
2018-08-14 17:57:22 +00:00
88fc06366a Roll chromium_revision 690394a8a7..5edb31a0cd (582511:582911)
Change log: 690394a8a7..5edb31a0cd
Full diff: 690394a8a7..5edb31a0cd

Changed dependencies:
* src/base: fe1611262d..94235ec304
* src/build: ddcfe1a1c6..188e8c57a7
* src/ios: 8bce498aae..9df813679a
* src/testing: b07830f690..91f6974c3d
* src/third_party: ddc6e6fdb5..0ab32a0a7d
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/21cd5a3096..193e933801
* src/third_party/freetype/src: 578bcf103a..96b5e50090
* src/third_party/libsrtp: fc2345089a..368abd6bb3
* src/third_party/libvpx/source/libvpx: 6fd9d0244c..b8642738c9
* src/tools: 957e87c052..360e3c21b5
DEPS diff: 690394a8a7..5edb31a0cd/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,marpan@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal_compile_lite

Change-Id: Icadf789b48de45dc716632aec5b3905e8528f45e
Reviewed-on: https://webrtc-review.googlesource.com/94180
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24278}
2018-08-14 16:15:14 +00:00
948b7e3755 Revert "Add initial support for RtpEncodingParameters max_framerate."
This reverts commit ced5cfdb35a20c684df927eab37e16d35979555f.

Reason for revert: Breaks downstream project.

Original change's description:
> Add initial support for RtpEncodingParameters max_framerate.
> 
> Add support to set the framerate to the maximum of |max_framerate|.
> Different framerates are currently not supported per stream for video.
> 
> Bug: webrtc:9597
> Change-Id: Ie326617b66bd97be387f809a7f82b97b8f3ff5fe
> Reviewed-on: https://webrtc-review.googlesource.com/92392
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Åsa Persson <asapersson@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#24270}

TBR=steveanton@webrtc.org,magjed@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org,srte@webrtc.org

Change-Id: I508fe48e0c53996654f657357913ac307dc256bd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9597
Reviewed-on: https://webrtc-review.googlesource.com/94060
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24277}
2018-08-14 07:25:23 +00:00
ccee56beee Add certificate generate/set functionality to bring iOS closer to JS API
The JS API supports two operations which have never been implemented in
the iOS counterpart:
 - generate a new certificate
 - use this certificate when creating a new PeerConnection

Both functions are illustrated in the generateCertificate example code:
 - https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/generateCertificate

Currently, on iOS, a new certificate is automatically generated for
every PeerConnection with no programmatic way to set a specific
certificate.

Work sponsored by |pipe|

Bug: webrtc:9498
Change-Id: Ic1936c3de8b8bd18aef67c784727b72f90e7157c
Reviewed-on: https://webrtc-review.googlesource.com/87303
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24276}
2018-08-13 22:25:15 +00:00
b336c2784f Implement serialization for ICE candidates with hostname addresses.
Bug: webrtc:4165
Change-Id: I5ba0f25e458013ac3982648fc33d92d2a00e8fdd
Reviewed-on: https://webrtc-review.googlesource.com/93250
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Zach Stein <zstein@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24275}
2018-08-13 17:39:58 +00:00
ee562d874c Don't depend on X11 when rtc_use_x11=false.
This CL makes X11 optional for audio_device_pulse_linux.
Apply the same guards than for audio_device_alsa_linux.
Cf commit 75f18fca8eef7c27073923c46ff73be5ba0e0491.

Bug: webrtc:9569
Change-Id: Iaddbfb62112c504531376bad0db8f04caa4350c7
Reviewed-on: https://webrtc-review.googlesource.com/93030
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24274}
2018-08-13 14:14:27 +00:00
d8661a05ff Remove public_deps from rtc_base:protobuf_utils.
Bug: webrtc:8603
Change-Id: I8dfc176b570d28ce8003f5f8f1ed995848af9a9d
Reviewed-on: https://webrtc-review.googlesource.com/93761
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24273}
2018-08-13 14:06:31 +00:00
db7ea8c45f Re-enable gtest absl pretty printers.
After https://webrtc-review.googlesource.com/c/src/+/93733, WebRTC
should be able to use absl pretty printers again.

Bug: None
Change-Id: I1ea63707e59ad502e40df84ca0abb03054d25106
Reviewed-on: https://webrtc-review.googlesource.com/93741
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24272}
2018-08-13 13:54:05 +00:00
af17595879 Refactor RtpReceiverImpl, extracting CSRC book-keeping to its own class
Bug: webrtc:7135
Change-Id: I7ce9afe575241542e4e3f7e2e8459ee3257eec76
Reviewed-on: https://webrtc-review.googlesource.com/93466
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24271}
2018-08-13 11:59:08 +00:00
ced5cfdb35 Add initial support for RtpEncodingParameters max_framerate.
Add support to set the framerate to the maximum of |max_framerate|.
Different framerates are currently not supported per stream for video.

Bug: webrtc:9597
Change-Id: Ie326617b66bd97be387f809a7f82b97b8f3ff5fe
Reviewed-on: https://webrtc-review.googlesource.com/92392
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24270}
2018-08-13 09:59:04 +00:00
553b6f68e1 Roll chromium_revision f7e49bb7e6..690394a8a7 (582110:582511)
Change log: f7e49bb7e6..690394a8a7
Full diff: f7e49bb7e6..690394a8a7

Changed dependencies:
* src/base: 6c0497f398..fe1611262d
* src/build: f79db013c7..ddcfe1a1c6
* src/ios: 7aa1f910df..8bce498aae
* src/testing: d2fde4ae5b..b07830f690
* src/third_party: e3f59293e6..ddc6e6fdb5
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0d25dda9b1..21cd5a3096
* src/third_party/depot_tools: 284b5e0c60..6a4e31b488
* src/third_party/harfbuzz-ng/src: 2b76767bf5..b6fdcf4f8b
* src/tools: d3ea177a0e..957e87c052
DEPS diff: f7e49bb7e6..690394a8a7/DEPS

No update to Clang.

TBR=buildbot@webrtc.org,
BUG=None
CQ_INCLUDE_TRYBOTS=master.internal.tryserver.corp.webrtc:linux_internal_compile_lite

Change-Id: If74fe9bc2379d45d46058417fdaf42db85e63bd5
Reviewed-on: https://webrtc-review.googlesource.com/93733
Commit-Queue: WebRTC Buildbot <buildbot@webrtc.org>
Reviewed-by: WebRTC Buildbot <buildbot@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24269}
2018-08-13 07:07:25 +00:00
f4cf64ec06 AEC3: Enforcing nonlinear mode when transparent mode is active
This CL ensures that the linear echo prediction mode is not used
when the transparent mode is active.

TBR: saza@webrtc.org,gustaf@webrtc.org
Bug: webrtc:9612,chromium:873074
Change-Id: I25cda5226251df769b6524594ea8a2b78532aaec
Reviewed-on: https://webrtc-review.googlesource.com/93740
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24268}
2018-08-12 20:40:04 +00:00
656d609a95 Add UTC time to init event in AEC debug dump.
Bug: webrtc:9616
Change-Id: I1350212f0b8835fb64427483269da96d51670c01
Reviewed-on: https://webrtc-review.googlesource.com/92620
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24267}
2018-08-11 20:29:07 +00:00