Commit Graph

29404 Commits

Author SHA1 Message Date
b2b58d84e3 AEC3: Adding default AEC3 configurations that are setup specific
This adds functionality to AEC3 to produce setup-specific
default configurations that are tailored to work well for the
number of channels at hand.

The tunings are only used for the case when no echo control factory
has been provided.

Bug: webrtc:11151,chromium:1029717
Change-Id: I1bd2d10327300c7b0f3169a52bf66700b781fd6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161086
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29972}
2019-12-02 15:04:07 +00:00
cf20519262 AEC3: Correct the number of render channels in the echo audibility code
Bug: webrtc:11150,chromium:1029707
Change-Id: I4d43bfcd52871a45e7608158bf19c32523976f55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161085
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29971}
2019-12-02 13:13:11 +00:00
00cf34c5e8 Refactor DataChannel control out of PeerConnection
This is step 1-3 of the refactoring process outlined in comment #1 of bugs.webrtc.org/11146

Bug: webrtc:11146
Change-Id: Iccad009bc0585f99d207a6ddb42fd8e71312fc0a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161003
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29970}
2019-12-02 10:00:34 +00:00
b877e71c41 Delete FunctorMessageHandler, in tests use alternative ways to post functors
Bug: None
Change-Id: I22c7623300c2370269651b67a919a3c4a2ff3926
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161080
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29969}
2019-12-02 09:47:34 +00:00
f2c0818fa2 Minor fixes to ChannelSend.
Bug: None
Change-Id: Ic651174afa2d8b9b105d03adcf725549bcc144df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160782
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29968}
2019-12-02 09:30:51 +00:00
b0db98cf06 Fuzz AEC3
This fuzzer fuzzes AEC3 with the default configuration and variable sample rates and channel counts.

Bug: None
Change-Id: I0d178a320b75fc4cc389657fa2b99931f359b517
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160646
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29967}
2019-12-02 09:16:51 +00:00
b144c58973 Remove deprecated setting for activating multichannel processing
Bug: webrtc:10859
Change-Id: I86cae6a9b765bc807c00632ec7d743b754941f81
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160780
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29966}
2019-12-02 07:47:53 +00:00
efa3f76b08 Moves SampleStats and EventRateCounter to rtc_base/numerics
Bug: webrtc:9883
Change-Id: I53934c86cad3b7cd60bba6c78e5db66c10e5d56a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159821
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29965}
2019-12-02 07:46:48 +00:00
865a74ee59 Roll chromium_revision a9c1e4afb9..3f97848513 (720171:720272)
Change log: a9c1e4afb9..3f97848513
Full diff: a9c1e4afb9..3f97848513

Changed dependencies
* src/ios: 0c6f3cc26c..a31907ccb8
* src/testing: 7fc8295e7d..c011aaeb88
* src/third_party: d4ae047bf6..245344e1cb
* src/third_party/depot_tools: 7c62ed63ac..5ae4817ada
* src/third_party/freetype/src: d4f9c24989..4270e9f324
* src/tools: 0f56390d56..cc179a4932
DEPS diff: a9c1e4afb9..3f97848513/DEPS

No update to Clang.

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

Change-Id: I316b80951a88d3ccb6d4e03417254c60acade01c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161083
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@{#29964}
2019-11-29 20:38:51 +00:00
d003662b15 Move SendBindingResponse to Connection
This patch moves the SendBindingResponse from Port
to Connection. This is a behavioural NOP, and I don't
understand why it was in Port in the firs place!

Found when working on GOOG_PING.

BUG=webrtc:11100

Change-Id: I0466c5381f08ec4926ca3380e6914f0bc0dfcf63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161081
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29963}
2019-11-29 16:32:14 +00:00
89313451d8 Take FunctionView rather than any functor reference in the rtc::Thread::Invoke
to generate less versions of the function template and FunctorMessageHandler helper
thus producing less binary size

Bug: None
Change-Id: Idbd6fb1e1f23b9b2dc4e4306a74ef11e74ba94cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161044
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29962}
2019-11-29 14:10:38 +00:00
39cf3c723e Clean up the NetEqFactory API.
This CL decouples NetEqFactory and AudioDecoderFactory.
AudioDecoderFactory is used in more places than just inside of NetEq, so
decoupling these makes sense.

Bug: webrtc:11005
Change-Id: I78dd856e4248e398e69a65816b062ef30555b055
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161005
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29961}
2019-11-29 14:04:44 +00:00
2d02c943b2 NetEQ: fix initial decoder frame length.
Bug: webrtc:10548
Change-Id: If020ce0e5bef57f4f783dbc47995fd0c9f7e2137
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161046
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29960}
2019-11-29 13:43:41 +00:00
331b00bdb8 Roll chromium_revision 26d0995106..a9c1e4afb9 (720053:720171)
Change log: 26d0995106..a9c1e4afb9
Full diff: 26d0995106..a9c1e4afb9

Changed dependencies
* src/base: c24bb21404..0759871ba8
* src/build: 586d50f811..2fc048cf25
* src/ios: b3026b1a11..0c6f3cc26c
* src/testing: a33380acd4..7fc8295e7d
* src/third_party: 2b7c0d1b0e..d4ae047bf6
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b97d4ceb42..bcfcc04c53
* src/third_party/depot_tools: 1bfe890bd8..7c62ed63ac
* src/tools: 1e52da6374..0f56390d56
DEPS diff: 26d0995106..a9c1e4afb9/DEPS

No update to Clang.

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

Change-Id: I44661670da19f07c83182277b5de99fe683997a1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161067
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@{#29959}
2019-11-29 12:47:17 +00:00
499b3b6c7e In RtpDepacketizerAV1 use aggregation header to detect key frames
instead of guessing based on presence of the sequence header OBU.

Bug: webrtc:11042
Change-Id: I9a0674249feceebb07299ea965c62e87499f6baf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161013
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29958}
2019-11-29 10:14:20 +00:00
c7a3b08f07 Prefix ENABLE_RTC_EVENT_LOG with WEBRTC_.
Since this macro can be considered public, it makes sense to prefix it
with WEBRTC_ (also to avoid potential conflicts with client code).

This CL also removes some definitions of this macro in order to define
it only where it is strictly needed (it is only used in a .cc file).

Bug: webrtc:11142
Change-Id: Idce7389301e71d8434e238b3cf4ceaa9cf97cd87
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161008
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29957}
2019-11-29 09:45:50 +00:00
a3cd717bb6 Remove WebRTC-Bwe-CongestionWindowDownlinkDelay.
Bug: webrtc:11143
Change-Id: Iaf89758de7d2a58f6e1c88293f38c5eff1a78583
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160787
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29956}
2019-11-28 21:09:12 +00:00
62c39368ba Roll chromium_revision 8955e0d38a..26d0995106 (719771:720053)
Change log: 8955e0d38a..26d0995106
Full diff: 8955e0d38a..26d0995106

Changed dependencies
* src/base: e3a16f9753..c24bb21404
* src/build: 18fbb4ddbe..586d50f811
* src/ios: 9ce0497010..b3026b1a11
* src/testing: 49401037fc..a33380acd4
* src/third_party: 4624870bec..2b7c0d1b0e
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c9d4943dc8..b97d4ceb42
* src/third_party/depot_tools: f31cb801f2..1bfe890bd8
* src/tools: 8caf5f2f01..1e52da6374
DEPS diff: 8955e0d38a..26d0995106/DEPS

No update to Clang.

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

Change-Id: Ifeb77fede27bb5065e053cf43c1764c301353e01
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161022
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@{#29955}
2019-11-28 20:42:42 +00:00
fe7ce1c3bc Fix ErrorProne MultiVariableDeclaration.
This check has been turned on in [1] and it is now preventing the
Chromium Roll into WebRTC.

[1] - https://chromium-review.googlesource.com/c/chromium/src/+/1939956

TBR: sakal@webrtc.org
Bug: None
Change-Id: I43372eb3b3987bdf91bc717a6f50be3d8b1db56c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161006
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29954}
2019-11-28 18:49:20 +00:00
0682ca9a83 Use AV1 packetizer/depacketizer for AV1 bitstreams
Bug: webrtc:11042
Change-Id: Ibf45a99d8016dccbe109d946ac967efa927312e4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161011
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29953}
2019-11-28 18:01:10 +00:00
9dc209a23a Add ability to disable detailed error message in RTC_CHECKs
Bug: webrtc:11133
Change-Id: I989654f1fb97b476a17956d69ee374406439ea8f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160653
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29952}
2019-11-28 17:51:00 +00:00
9750e84d7a AEC3:Turning off default downmix in surround alignment
This CL changes the downmixing of the input to the delay estimation
for surround/stereo signals to be off by default.

A kill-switch is also added for enforcing the downmix to be on.

Bug: webrtc:10913
Change-Id: I1030fef593ba56416deeb13b80d2f3812bffb9ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161012
Commit-Queue: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29951}
2019-11-28 17:44:40 +00:00
253d50fbe6 Add new Stun utility functions
This patch introduces 3 new functions on StunMessages
- Clone, copy a message
- IsStunMethod, verifies that a buffer is a StunMessage
  w/o requring a fingerprint
- EqualAttributes, compare attributes in two stun messages
  (with filter)

This methods will be used to implement GOOG_PING

BUG=webrtc:11100

Change-Id: I284726c74aa0437be0bb9fbcf943c7d64a18acec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160281
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29950}
2019-11-28 16:57:30 +00:00
2dec496f80 Add directive to make TRACE_EVENT macros optional.
Bug: webrtc:11132
Change-Id: I801994ad262e1acff73e4c20afd7a7343b56268c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160654
Commit-Queue: Doudou Kisabaka <doudouk@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29949}
2019-11-28 15:58:24 +00:00
b8306cc9bb Remove temporary 8-bit H264 HDR fix
Bug: webrtc:10575, chromium:956468
Change-Id: Ie49af9c9624962bd19147833a167e5830bb81fe2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161004
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29948}
2019-11-28 15:32:04 +00:00
096a46f38f Implement AV1 RtpPacketizer class
Bug: webrtc:11042
Change-Id: Id1fc0acfa87a4520344f2636f50cb4d4e7284829
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160416
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29947}
2019-11-28 14:39:02 +00:00
4314a494cf Implements a task-queue based PacedSender, wires it up for field trials
Bug: webrtc:10809
Change-Id: Ia181c16559f4598f32dd399c24802d0a289e250b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150942
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29946}
2019-11-28 12:13:53 +00:00
5314b13a8d Fix undefined-shift in RtpDepacketizerAv1::AssembleFrame
Bug: chromium:1028348
Change-Id: I824e84138acbf4e73fc21ee8248e29e5cc7a0ba0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160643
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29945}
2019-11-28 11:27:33 +00:00
bfcb6c3f13 Add rtt estimate EventBasedExponentialMovingAverage to Connection
This patch estimates the connection RTT using
EventBasedExponentialMovingAverage. The half time is
set to 500 but can be modified using field trials.

This new metric is currently unused, but will
be used for exploration of of whether it can be used
instead of the existing metric.

Bug: webrtc:11140
Change-Id: I9db93e9b9eb932e3cd18935cd4ce0d90fc1cb293
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161000
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29944}
2019-11-28 09:24:44 +00:00
6532fc6024 Roll chromium_revision 2b82941a12..8955e0d38a (719656:719771)
Change log: 2b82941a12..8955e0d38a
Full diff: 2b82941a12..8955e0d38a

Changed dependencies
* src/base: 9186496962..e3a16f9753
* src/build: 555ec37684..18fbb4ddbe
* src/ios: 53ea13c180..9ce0497010
* src/testing: 72e16daaa5..49401037fc
* src/third_party: 4481c01a7a..4624870bec
* src/third_party/depot_tools: 34267f83de..f31cb801f2
* src/tools: 66d55b7c94..8caf5f2f01
DEPS diff: 2b82941a12..8955e0d38a/DEPS

No update to Clang.

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

Change-Id: I9f11016f7d6fb06b4f8a5bde385a506af7762c08
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160905
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@{#29943}
2019-11-27 22:50:42 +00:00
e1611a07d8 Replace template_util.h with C++14 STL methods
Bug: None
Change-Id: Ib24889db4f452353afab816af4f9618b2767021f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160760
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29942}
2019-11-27 19:34:54 +00:00
b3fb339c44 Roll chromium_revision 65c32b57c2..2b82941a12 (719106:719656)
Change log: 65c32b57c2..2b82941a12
Full diff: 65c32b57c2..2b82941a12

Changed dependencies
* src/base: db1805cd24..9186496962
* src/build: d3aa45deb2..555ec37684
* src/ios: a20c344fa8..53ea13c180
* src/testing: bed6128e4e..72e16daaa5
* src/third_party: 9353bfefce..4481c01a7a
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/e705827b36..c9d4943dc8
* src/third_party/depot_tools: 83aafc979f..34267f83de
* src/third_party/libvpx/source/libvpx: 9b73e21c0d..b8549ed889
* src/tools: c6edd6506e..66d55b7c94
DEPS diff: 65c32b57c2..2b82941a12/DEPS

No update to Clang.

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

Change-Id: Icba28e8dc4a326ef1d24b42119eb2bbaac373bf9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160903
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@{#29941}
2019-11-27 18:59:14 +00:00
3f75209656 Revert "Remove temporary workaround for generate_licenses."
This reverts commit eac63e7e026216b8e26ce875cd8a908372277794.

Reason for revert: The problem still arises in a flaky fashion.
See for instance https://ci.chromium.org/p/webrtc/builders/try/android_arm_rel/15429

Original change's description:
> Remove temporary workaround for generate_licenses.
> 
> Bug: webrtc:11105
> Change-Id: I6e9243237b79d2809b8ec95905498c0e7bfb1cb0
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160403
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Yves Gerey <yvesg@google.com>
> Cr-Commit-Position: refs/heads/master@{#29892}

TBR=mbonadei@webrtc.org,yvesg@google.com,yvesg@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:11105
Change-Id: Ie5ffab243b364544e4b02034cb898ef32d922d5f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160980
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#29940}
2019-11-27 17:56:45 +00:00
d08bb1e12f Propagate absolute capture time through video receiving side.
Prototype link:
https://webrtc-review.googlesource.com/c/src/+/158520


Bug: webrtc:10739
Change-Id: I8d30b729ac5bca484608af7f0378998987df7d53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160341
Commit-Queue: Ruslan Burakov <kuddai@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29939}
2019-11-27 17:07:59 +00:00
7968530418 Removes caching SimulcastEncoderAdapter::GetEncoderInfo()
There are edge cases where the caching of encoder info will cause
issues. For instance if a sub-encoder fails en Encode call and falls
back to some other implementation, or if the fps targets shift due to
SetRates() triggering new layers to be enabled.

This CL forces a complete rebuild on every call to GetEncoderInfo().

It also adds new logging of when the info changes, as debugging issues
can be very time consuming if we can't tell that happened.

Bug: webrtc:11000
Change-Id: I7ec7962a589ccba0e188e60a11f851c9de874fab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160960
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29938}
2019-11-27 17:06:54 +00:00
840394c6eb Fix bw_limited_resolution in SendStatisticsProxy GetStats
Removed old code, which took care of VP8 case, but actually interferes with
VP9 case.

Now regardless of codec bw_limited_resolution is calculated based on signals
from the bitrate allocator.

Bug: webrtc:11015
Change-Id: Ic99dbb504ab2d1a4b5f15ca93193a1af05ae5924
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160651
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29937}
2019-11-27 16:49:54 +00:00
b529b7aeba Add string<->VideoCodecType conversion for all codec types.
Use that conversion instead of duplicating it in call/

Bug: webrtc:11042
Change-Id: I035b161d429ec339dd2ad9e9ed3ede5045fb6199
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160881
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29936}
2019-11-27 14:15:07 +00:00
5cef9c3581 Revert "Add support for RtpEncodingParameters::max_framerate"
This reverts commit 15be5282e91ba38894e6ad51fe9a35a38a6b7f29.

Reason for revert: crbug.com/1028937

Original change's description:
> Add support for RtpEncodingParameters::max_framerate
> 
> This adds the framework support for the max_framerate parameter.
> It doesn't implement it in any encoder yet.
> 
> Bug: webrtc:11117
> Change-Id: I329624cc0205c828498d3623a2e13dd3f97e1629
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160184
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Åsa Persson <asapersson@webrtc.org>
> Commit-Queue: Florent Castelli <orphis@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29907}

TBR=steveanton@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org,orphis@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: webrtc:11117
Change-Id: Ic44dd36bea66561f0c46e73db89d451cb3e22773
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160941
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29935}
2019-11-27 14:01:53 +00:00
8861d02f89 Restore tests that were accidently deleted during refactoring
Bug: None
Change-Id: Ic68282d9879581c2d7d42d5d80c876e252e53c37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160920
Reviewed-by: Artem Titarenko <artit@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29934}
2019-11-27 13:42:58 +00:00
9f9e20a3dc Fix errorprone issues preventing Chromium Roll.
Some ErrorProne warnings have been enabled by [1], that broke the
Chromium Roll into WebRTC, this CL should have taken care of all the
problems.

[1] - https://chromium-review.googlesource.com/c/chromium/src/+/1935889

Bug: None
Change-Id: I2670e948c320984a122fdb774b891c98e05f582e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160862
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29933}
2019-11-27 12:52:48 +00:00
6565681128 Turn off Goma for Linux GCC.
GCC is not supported by Goma RBE.

Bug: webrtc:11129
Change-Id: Idab14eecc87f88e8b7a1d48f2da467c5c6b27a94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160880
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29932}
2019-11-27 12:31:45 +00:00
26cc5e650f Corrected the aggregation of AGC choices and add fallback solution
This CL corrects the analog AGC code so that the levels are properly
aggregated and not only the level of the first channel is chosen.

It also adds a kill-switch to allow the aggrated level to be the maximum
level rather than the minimum level.

Bug: webrtc:10859
Change-Id: Ibf4fecb53cfaf0dc064c334112105bf26401f78d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160708
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29931}
2019-11-27 11:57:22 +00:00
17e4c58318 Adding parametrization of the AEC3 howling mitigation behavior
Bug: webrtc:8671,b/145243047
Change-Id: If5bcbb66b72278b901a990cb9d6e11e42c9ac592
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160781
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29930}
2019-11-27 11:56:17 +00:00
98e745b302 make Connection::port() protected
This patch makes Connection::port() protected
and add explicit methods for the use cases instead
- network()     - port()->Network()
- generation()  - port()->generation()

This is done to easier mock a Connection.

BUG=webrtc:10647

Change-Id: I5b35477ed9f81d57cd871072874262d0a8af2d4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160784
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29929}
2019-11-27 11:13:48 +00:00
b1ccae253e Reland "Fixes dynamic mode pacing issues."
This is a reland of 72e6cb0b3f548900fd3b548b4b6966e3f5ee854f
Was not the cause of perf alert, relanding.

TBR=ilnik@webrtc.org

Original change's description:
> Fixes dynamic mode pacing issues.
>
> This CL fixes a few issues in the (default-disabled) dynamic pacing
> mode:
> * Slight update to sleep timing to avoid short spin loops
> * Removed support for early execution as that lead to time-travel
>   contradictions that were difficult to solve.
> * Makes sure we schedule a process call when a packet is due to be
>   drained even if the queue is empty, so that padding will start at
>   the correct time.
> * While paused or empty, sleep relative last send time if we send
>   padding while silent - otherwise just relative to last process
>   time.
> * If target send time shifts so far back that packet should have
>   been sent prior to the last process, make sure we don't let the
>   buffer level remain.
> * Update the PacedSender test to _actually_ use dynamic processing
>   when the param says so.
>
> Bug: webrtc:10809
> Change-Id: Iebfde9769647d2390fd192a40bbe2d5bf1f6cc62
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160407
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29911}

Bug: webrtc:10809
Change-Id: Ie7b307e574c2057bb05af87b6718a132d639a416
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160786
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29928}
2019-11-27 10:22:05 +00:00
dc36829db0 Add VideoCodecType::kVideoCodecAV1 value
Bug: webrtc:11042
Change-Id: I3c5151c9e47679760f8f7d79270488fa8f4c7db5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159282
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29927}
2019-11-27 10:18:45 +00:00
e14cb99408 Correct/update the activation of the multi-channel processing in APM
This CL removes the experimental status of the multi-channel processing
in APM, and accordingly updates the variable naming.

It also splits the activation of multi-channel processing to be separate
for render and capture.


Bug: webrtc:10859
Change-Id: I0e5d04dcb94b6637c33d97146231b8ddddbaea39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160707
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29926}
2019-11-27 10:15:25 +00:00
c363982eea Convert proxy.h helper classes to variadic templates
Bug: None
Change-Id: I74f4e24a8c8b5a124782e8c8294a0673acef4faf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160741
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29925}
2019-11-27 00:29:50 +00:00
2a6b3b1f7f Correcting the analog AGC re-initialization at device changes
This CL corrects the re-initialization behavior of the analog
AGC to work correctly when the AGC is reinitialized.

Bug: webrtc:11131
Change-Id: Ie455ba3db1aa3936cbcbb2fab023528124853284
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160650
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29924}
2019-11-26 20:30:20 +00:00
7a9a092708 Delete media transport integration.
MediaTransport is deprecated and the code is unused.

No-Try: True
Bug: webrtc:9719
Change-Id: I5b864c1e74bf04df16c15f51b8fac3d407331dcd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160620
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29923}
2019-11-26 19:19:36 +00:00