Commit Graph

34936 Commits

Author SHA1 Message Date
05a9e5abd3 Fix race in CallPerfTest.Bitrate_Kbps_PadsToMinTransmitBitrate
Task posted by OnSendRtp might be scheduled after `send_stream_` is
destroyed. Fix by using a PendingTaskSafetyFlag, killed from the
OnStreamsStopped callback.

Bug: webrtc:12726
Change-Id: I935917a3d80e82c3536261d72059448fb7aac00d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228643
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34754}
2021-08-13 13:22:49 +00:00
95f6e8bebb Relax video_codec parameter for RtpVideoStreamReceiver::AddReceiveCodec
Instead of requiring huge VideoCodec struct, pass single member from it

Bug: webrtc:13045
Change-Id: I1a4a48abd6c407cb9a878daafda5c8a85beff39e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228641
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34753}
2021-08-13 12:56:00 +00:00
b2745ba1f8 Condition frame pacing on min/max playout delay
As a first step we only want to enable frame pacing for the case
where min playout delay == 0 and max playout delay > 0.

Bug: chromium:1237402, chromium:1239469
Change-Id: Icf9641db7566083d0279135efa8618e435d881eb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228640
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34752}
2021-08-13 10:52:19 +00:00
edfaaef086 Propagate socket write errors for DtlsTransport
The UDP sockets in WebRTC are non-blocking, and when writing too much
to them so that their send buffer becomes exhausted, they will return
EAGAIN or EWOULDBLOCK, which indicates that the client will need to
retry a bit later.

Media packets are generally sent by the pacer, which generally avoids
this exhaustion, but for SCTP which has a congestion control algorithm
quite similar to TCP, it may overshoot the amount of data it writes. If
the SCTP library can be notified when writing fails, it can stop writing
for a while until the socket recovers, which will result in less
overshooting and fewer lost packets (possibly even none). But for the
SCTP library to be able to know this, errors must be propagated, which
they weren't with the argument that packets may get lost anyway.

Bug: webrtc:12943
Change-Id: I9244580abf0d48ff810da30a23f995d12be623ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228439
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34751}
2021-08-13 10:30:29 +00:00
55a2f770a6 Roll chromium_revision fcc4764793..cce6e710fd (911577:911687)
Change log: fcc4764793..cce6e710fd
Full diff: fcc4764793..cce6e710fd

Changed dependencies
* src/base: d5da9fc322..d6b10338ba
* src/build: 4d07fd6ad5..3fdcec6e56
* src/buildtools: 37dc929ecb..f063da141c
* src/ios: 4ca2b0232a..508797fd54
* src/testing: 7a163851ec..c5ff879f92
* src/third_party: 755005b7cb..b9f1426982
* src/third_party/androidx: JO4WtrFSgv4hKbrR0kNn-c6rw1p6XQZuWfufbsEhuD4C..o74JoE-kByyfp7IZNkn3v09A4ryAISjuilobCBzv6PAC
* src/third_party/nasm: e9be5fd6d7..4e6fe9d154
* src/tools: 58a626d715..69b0efcff6
DEPS diff: fcc4764793..cce6e710fd/DEPS

No update to Clang.

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

Change-Id: I43c2adb51729ea159c2a30ed639ffd80da78710e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228628
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@{#34750}
2021-08-13 10:28:20 +00:00
722a8a6875 Tolerate more not completed measurements for CPD uploads
Recently CPD team rolled out upload completion token feature to all users. Pressure on the system increased. Now became more common situations when upload completed, but because of Datastore limitations we can't see confirmation of it for some measurements.

I've checked 6 recent failures. For all of them amount of timeout measurements were less than 3% (less than 15 in absolute numbers, the biggest percent of failures was for 80 measurements, 2 of which timed out).

Bug: b/182111579
Change-Id: Ia5af367870d1cf7d28b9422c4114c6b85c41f865
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228562
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34749}
2021-08-13 10:21:29 +00:00
dcaf1e79c4 Update WebRTC code version (2021-08-13T04:05:09).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: I253d5f78ca1afc88e3cb3296a5456ca49387d4be
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228625
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34748}
2021-08-13 05:46:54 +00:00
1a292b72cd Roll chromium_revision 8baabcff97..fcc4764793 (911441:911577)
Change log: 8baabcff97..fcc4764793
Full diff: 8baabcff97..fcc4764793

Changed dependencies
* src/base: cadc2eec1e..d5da9fc322
* src/buildtools/third_party/libc++abi/trunk: eed07007f8..671803fd96
* src/buildtools/third_party/libunwind/trunk: 7729bc9248..83f8edbca7
* src/ios: 4cbd2f26b1..4ca2b0232a
* src/testing: ebfd3cfb94..7a163851ec
* src/third_party: a6b4b34428..755005b7cb
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3ef3f2c876..bd47f22ad2
* src/third_party/perfetto: 91a6d3a9b8..e0c4d9b956
* src/tools: 33a8d904de..58a626d715
DEPS diff: 8baabcff97..fcc4764793/DEPS

No update to Clang.

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

Change-Id: I1aa71ae35cf397cf60fb489d85e5cbc0832177c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228621
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@{#34747}
2021-08-13 01:08:49 +00:00
04a9ce1e11 Roll chromium_revision ea375c193d..8baabcff97 (911333:911441)
Change log: ea375c193d..8baabcff97
Full diff: ea375c193d..8baabcff97

Changed dependencies
* src/base: c0e983f5db..cadc2eec1e
* src/build: 923d7f828a..4d07fd6ad5
* src/ios: af3143e15a..4cbd2f26b1
* src/testing: fd265d4809..ebfd3cfb94
* src/third_party: d1a75c47c8..a6b4b34428
* src/third_party/icu: 75e34bccce..a38aef9142
* src/tools: 2c3524bb30..33a8d904de
DEPS diff: ea375c193d..8baabcff97/DEPS

No update to Clang.

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

Change-Id: I4276361915bf71d54776e6a21d2232b2d8f9a0d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228600
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@{#34746}
2021-08-12 20:36:12 +00:00
0c2a9caf8f fix some typos
BUG=None

Change-Id: If793268a5773dfab6a40bbd4ffa760f3d4cb5a46
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228428
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34745}
2021-08-12 18:37:10 +00:00
e0fb45c6d4 dcsctp: Add burst limiter for sent packets
Some deployments, e.g. Chromium, has a limited send buffer. It's
reasonable that it's quite small, as it avoids queuing too much, which
typically results in increased latency for real-time communication. To
avoid SCTP to fill up the entire buffer at once - especially when doing
fast retransmissions - limit the amount of packets that are sent in one
go.

In a typical scenario, SCTP will not send more than three packets for
each incoming packet, which is is the case when a SACK is received which
has acknowledged two large packets, and which also adds the MTU to the
congestion window (due to in slow-start mode), which then may result in
sending three packets. So setting this value to four makes any
retransmission not use that much more of the send buffer.

This is analogous to usrsctp_sysctl_set_sctp_fr_max_burst_default in
usrsctp, which also has the default value of four (4).

Bug: webrtc:12943
Change-Id: Iff76a1668beadc8776fab10312ef9ee26f24e442
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228480
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34744}
2021-08-12 17:22:55 +00:00
a9e7f719a9 Roll chromium_revision 3857505ab0..ea375c193d (911218:911333)
Change log: 3857505ab0..ea375c193d
Full diff: 3857505ab0..ea375c193d

Changed dependencies
* src/base: 92386f1e2e..c0e983f5db
* src/ios: a5cdce730f..af3143e15a
* src/testing: 186477c3e1..fd265d4809
* src/third_party: 7d4e6c863f..d1a75c47c8
* src/third_party/android_build_tools/aapt2: R2k5wwOlIaS6sjv2TIyHotiPJod-6KqnZO8NH-KFK8sC..aKJ5MrSRXjVPtBx2DoBnJtmmjO6W6PkQrTYuBtdu46YC
* src/third_party/androidx: zIoBx2j1PxzEKWCcYBQWLEu66f7usW-CNUQOr1ErmJ4C..JO4WtrFSgv4hKbrR0kNn-c6rw1p6XQZuWfufbsEhuD4C
* src/third_party/depot_tools: 4b973b6e6e..699d70d878
* src/third_party/perfetto: b34dc62800..91a6d3a9b8
* src/tools: b801bdfdc3..2c3524bb30
DEPS diff: 3857505ab0..ea375c193d/DEPS

No update to Clang.

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

Change-Id: Iaf596d148f310eaeacf688026154a875cba2c286
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228475
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@{#34743}
2021-08-12 17:16:25 +00:00
d08930d5fb Migrate test VideoDecoders to new VideoDecoder::Configure
Bug: webrtc:13045
Change-Id: I3b66270de59b441bf8b92bc10f67f59f05e9995e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228436
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34742}
2021-08-12 15:41:03 +00:00
40f7a5bab0 Extract CPU measurer from DVQA
Bug: b/196229820
Change-Id: I1f8f21ea5864f9ba98365e4699572fabd8cb1ece
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228560
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34741}
2021-08-12 15:28:44 +00:00
da6a9d58f8 Use GTEST_SKIP() instead of early return.
The issue for iOS platforms was fixed by crrev.com/c/2505276.

Bug: webrtc:13057
Change-Id: I0f01c1291184f4c7960db746951255961a962303
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228520
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34740}
2021-08-12 15:24:13 +00:00
aa918e0111 Delete always-true BasicPortAllocatorSession::AddAllocatedPort argument
This is a private method, and the `prepare_address` argument was
constant true at all call sites.

Bug: None
Change-Id: Id4714ee7c154a729a6e106c29895fc760e9d0455
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228527
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34739}
2021-08-12 15:21:13 +00:00
69dd142797 Register audio send stream in packet router on Start().
Currently, the RtpRtcp module of AudioSendStream is (de)registered in
the packet router on calls to
(Register|Reset)SenderCongestionControlObjects.
This CL changes that to happen on Start/Stop instead, which allows us
to safely call (Get|Set)RtpState on suspend/resume without the need
for extra locking in the rtp module.

See also https://webrtc-review.googlesource.com/c/src/+/228430

Bug: webrtc:11340
Change-Id: I54243a9ace8a7659924269418468b49b967b9465
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228433
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34738}
2021-08-12 15:15:53 +00:00
8b18304e66 Extract internal DVQA shared objects for future split
Bug: b/196229820
Change-Id: I6bb4be2656d1686a5f30721378605b39d5c391ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228522
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34737}
2021-08-12 14:42:43 +00:00
a17ec76351 Extract various DVQA stats related objects into its own header
Bug: b/196229820
Change-Id: I238e49532a6bfd71eee8b6b60dfbb1645c8234ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228438
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34736}
2021-08-12 11:58:57 +00:00
2a6d48b82f Roll chromium_revision 28cd08bbe9..3857505ab0 (911167:911218)
Change log: 28cd08bbe9..3857505ab0
Full diff: 28cd08bbe9..3857505ab0

Changed dependencies
* src/base: cb2eb0f4a2..92386f1e2e
* src/build: ee35ebe42c..923d7f828a
* src/ios: 7fd2295b11..a5cdce730f
* src/testing: b77b12337c..186477c3e1
* src/third_party: 29bf34dce3..7d4e6c863f
* src/third_party/androidx: aInnSluuC_7a0hWGVsPv23EywmldAOPIcV-bs0Ah1V0C..zIoBx2j1PxzEKWCcYBQWLEu66f7usW-CNUQOr1ErmJ4C
* src/tools: 0f94464c7a..b801bdfdc3
DEPS diff: 28cd08bbe9..3857505ab0/DEPS

No update to Clang.

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

Change-Id: I380dbfd5ea54cc9f5ac7252ad59993477e3dea83
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228501
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34735}
2021-08-12 11:37:30 +00:00
5f1d406cc9 Move legacy RtpRtcpModule to deferred sequencing.
Bug: webrtc:11340
Change-Id: I45ba6c37fe7fec8de756dee1eb914aceebbeae93
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228437
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34734}
2021-08-12 10:22:59 +00:00
7fa3f40626 Migrate software fallback wrapper to new VideoDecoder::Configure
Bug: webrtc:13045
Change-Id: I5082a5d12a43313842f8d5eb1fa70a12671e572c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228434
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34733}
2021-08-12 10:21:19 +00:00
647d326438 Add tracking of video encoder/decoder used for stream in DVQA
Bug: b/196035476
Change-Id: I882f2236c9522f06ad60332ab2a4bb9226b1bd8e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228423
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34732}
2021-08-12 08:49:57 +00:00
9ff59a396b Roll chromium_revision cf08193ade..28cd08bbe9 (911056:911167)
Change log: cf08193ade..28cd08bbe9
Full diff: cf08193ade..28cd08bbe9

Changed dependencies
* src/base: ad2a11b66a..cb2eb0f4a2
* src/build: 180853925f..ee35ebe42c
* src/ios: 8f9b02bc84..7fd2295b11
* src/testing: b2c19415d2..b77b12337c
* src/third_party: 0b603ab12b..29bf34dce3
* src/third_party/androidx: 5EsskEwtu6Hzju-fNoomuLOMy9gfI2OYkzR37-UWmjkC..aInnSluuC_7a0hWGVsPv23EywmldAOPIcV-bs0Ah1V0C
* src/third_party/depot_tools: bdc7adc6f7..4b973b6e6e
* src/tools: cdfee7063d..0f94464c7a
DEPS diff: cf08193ade..28cd08bbe9/DEPS

No update to Clang.

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

Change-Id: I1c465d6b8872d918ea6e595ebf827d16df865eda
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228471
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@{#34731}
2021-08-12 07:02:13 +00:00
a30819bbc3 Update WebRTC code version (2021-08-12T04:05:19).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: I58469f5a177b3861f2f3d21c160f34b4f98d08bd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228470
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34730}
2021-08-12 05:15:48 +00:00
44aa6c4e15 Roll chromium_revision c0a0d75300..cf08193ade (910939:911056)
Change log: c0a0d75300..cf08193ade
Full diff: c0a0d75300..cf08193ade

Changed dependencies
* src/base: e0aa211cdf..ad2a11b66a
* src/buildtools/linux64: git_revision:eea3906f0e2a8d3622080127d2005ff214d51383..git_revision:69ec4fca1fa69ddadae13f9e6b7507efa0675263
* src/buildtools/mac: git_revision:eea3906f0e2a8d3622080127d2005ff214d51383..git_revision:69ec4fca1fa69ddadae13f9e6b7507efa0675263
* src/buildtools/third_party/libunwind/trunk: b825591df3..7729bc9248
* src/buildtools/win: git_revision:eea3906f0e2a8d3622080127d2005ff214d51383..git_revision:69ec4fca1fa69ddadae13f9e6b7507efa0675263
* src/ios: 08b66b1a62..8f9b02bc84
* src/testing: 87f58f8686..b2c19415d2
* src/third_party: 5640700e82..0b603ab12b
* src/third_party/depot_tools: 88382976a2..bdc7adc6f7
* src/tools: 87b6e54c9e..cdfee7063d
DEPS diff: c0a0d75300..cf08193ade/DEPS

Clang version changed llvmorg-14-init-591-g7d9d926a:llvmorg-14-init-1002-gb5e470aa
Details: c0a0d75300..cf08193ade/tools/clang/scripts/update.py

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

Change-Id: I090591a2489bc6bde8f941cb750d963683339191
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228467
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@{#34729}
2021-08-12 01:09:09 +00:00
8591eff520 Reland "Fix bug where we assume new m= sections will always be bundled."
This is a reland of commit 704a834f685eb96c9fcf891ca345557bef4d138a,
after it was reverted in order to merge a CL to M93.

Original change's description:
> Fix bug where we assume new m= sections will always be bundled.
>
> A recent change [1] assumes that all new m= sections will share the
> first BUNDLE group (if one already exists), which avoids generating
> ICE candidates that are ultimately unnecessary. This is fine for JSEP
> endpoints, but it breaks the following scenarios for non-JSEP endpoints:
>
> * Remote offer adding a new m= section that's not part of any BUNDLE
>   group.
> * Remote offer adding an m= section to the second BUNDLE group.
>
> The latter is specifically problematic for any application that wants
> to bundle all audio streams in one group and all video streams in
> another group when using Unified Plan SDP, to replicate the behavior of
> using Plan B without bundling. It may try to add a video stream only
> for WebRTC to bundle it with audio.
>
> This is fixed by doing some minor re-factoring, having BundleManager
> update the bundle groups at offer time.
>
> Also:
> * Added some additional validation for multiple bundle groups in a
>   subsequent offer, since that now becomes relevant.
> * Improved rollback support, because now rolling back an offer may need
>   to not only remove mid->transport mappings but alter them.
>
> [1]: https://webrtc-review.googlesource.com/c/src/+/221601
>
> Bug: webrtc:12906, webrtc:12999
> Change-Id: I4c6e7020c0be33a782d3608dee88e4e2fceb1be1
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225642
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34544}

Bug: webrtc:12906, webrtc:12999
Change-Id: Id6acab2e2d7430c65f4b6a1d7372388a70cc18ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228465
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34728}
2021-08-11 23:36:28 +00:00
1c7ecefbe7 Reland "Modify Bundle logic to not add & destroy extra transport at add-track"
This relands commit I41cae74605fecf454900a958776b95607ccf3745, after
reverting it in order to merge the revert to M93 (the deadline for
which is now exceeded).

Original change description:

> If a bundle is established, then per JSEP, the offerer is required to
> include the new track in the bundle, and per BUNDLE, the answerer has
> to either accept the track as part of the bundle or reject the track;
> it cannot move it out of the group. So we will never need the transport.
>
> Bug: webrtc:12837
> Change-Id: I41cae74605fecf454900a958776b95607ccf3745
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221601
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34290}

Bug: webrtc:12837
Change-Id: I30a8f03165ab797ed766b51c4eb15c2a9cecb5ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228500
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34727}
2021-08-11 21:50:08 +00:00
b7eb18da6e Roll chromium_revision a48436a40a..c0a0d75300 (910736:910939)
Change log: a48436a40a..c0a0d75300
Full diff: a48436a40a..c0a0d75300

Changed dependencies
* src/base: 8ada907420..e0aa211cdf
* src/build: cb0fa26dea..180853925f
* src/buildtools/third_party/libc++abi/trunk: 24e92c2bee..eed07007f8
* src/ios: 3cc0083a11..08b66b1a62
* src/testing: 2425804d0d..87f58f8686
* src/third_party: c46fd991e9..5640700e82
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/abc7ba7d87..3ef3f2c876
* src/third_party/depot_tools: d76912e4d7..88382976a2
* src/third_party/perfetto: 3f8fabd85f..b34dc62800
* src/tools: 97138a27cc..87b6e54c9e
* src/tools/luci-go: git_revision:70263bc59d62128d76f23e84906a4205ebbb749a..git_revision:a5735121c6339dee9b1b3644535e230744daaac9
* src/tools/luci-go: git_revision:70263bc59d62128d76f23e84906a4205ebbb749a..git_revision:a5735121c6339dee9b1b3644535e230744daaac9
* src/tools/luci-go: git_revision:70263bc59d62128d76f23e84906a4205ebbb749a..git_revision:a5735121c6339dee9b1b3644535e230744daaac9
DEPS diff: a48436a40a..c0a0d75300/DEPS

No update to Clang.

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

Change-Id: Iccaedcdddd9f2f7a00d3f9cdc81be4d0c1ef62ec
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228464
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@{#34726}
2021-08-11 20:36:35 +00:00
4f776ac7de Use make_ref_counted in AudioProcessingBuilder
Bug: webrtc:12701
Change-Id: I51ca5a54f812a1620ee2e6605c9ff67b92e2a5f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/224547
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34725}
2021-08-11 15:40:28 +00:00
897bf9bff1 Fix frame counters for peers added in the middle of the call
Bug: b/196035476
Change-Id: Ie49ab247a2ff8bda680e4586f7316af8eaa8fe56
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228429
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34724}
2021-08-11 14:13:25 +00:00
6e2458d888 Add lock to guard rtp packet sequencer.
With deferred packet sequencing, the PacketSequencer instance is called
directly from the RtpRtcp module while before it was called from within
the RTPSender while holding a lock.

Since sequence number assignment happens on the same thread as actual
packet sending, though thought was that locking was no longer needed.
Unfortunately, SetRtpState()/GetRtpState() also exists - and while they
should only be called on creating/destruction there is a possible race
where a delayed packet from the pacer accesses the sequencer while
GetRtpState() is being called.

For now, this CL just adds a lock to guard sequencer. Follow-ups will
make sure get/set state is never called while module is attached to
the packet router. After that, the lock can be removed again.

Bug: webrtc:11340, webrtc:12470
Change-Id: I123c762fb4afd20b3a6bd03b86234eb9ec34a209
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228430
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34723}
2021-08-11 13:28:11 +00:00
8729d785df Delete AsyncSocketAdapter::Attach, make socket construction time const
Bug: webrtc:6424
Change-Id: I7001c4ac52ddd267dcd55f751f3f38976eab820f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227032
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34722}
2021-08-11 13:15:07 +00:00
a820cc226e Change signatures of SDP ParseFailed* functions
Change types of const std::string& arguments.

Use absl::string_view for the reference to input, to prepare for
parsing with less copies. Use std::string (passed by value) for the
description, to support ownership transfer without copying.

Bug: None
Change-Id: I4358b42bb824e4eb7a5ac9b64d44db1b9b022bab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223667
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34721}
2021-08-11 13:14:05 +00:00
9367cff59b red: change default redundancy level to 1
BUG=webrtc:11640

Change-Id: Ide66ae4803349ebb908d372e811efd9ef93d51e5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228424
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34720}
2021-08-11 12:59:13 +00:00
6144b8422b red: fix renegotiation
If RED is no longer used the send codec needs to be reconfigured.
To test on https://webrtc.github.io/samples/src/content/peerconnection/audio/
run:
  await pc1.setLocalDescription();
  await pc1.setRemoteDescription({type: 'answer', sdp:
        pc1.remoteDescription.sdp.replace('red/48000', 'blue/48000')})
As a result, RED will be turned off and the bitrate will drop.

BUG=webrtc:11640

Change-Id: Icc7a83ae29e67d054399bf42010264e94c32127d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221360
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34719}
2021-08-11 12:00:13 +00:00
221fa4405c Roll chromium_revision 304823aaf0..a48436a40a (910626:910736)
Change log: 304823aaf0..a48436a40a
Full diff: 304823aaf0..a48436a40a

Changed dependencies
* src/build: bbf7f0ed65..cb0fa26dea
* src/ios: 0787826362..3cc0083a11
* src/testing: 30fcc783eb..2425804d0d
* src/third_party: 3cfa0080be..c46fd991e9
* src/third_party/androidx: 5FmojmYp53y0XBXcZuz3Mglv3JiYPGYex2LMT6kbzv8C..5EsskEwtu6Hzju-fNoomuLOMy9gfI2OYkzR37-UWmjkC
* src/third_party/depot_tools: 49a703f3d9..d76912e4d7
* src/third_party/harfbuzz-ng/src: 8c0c217b5a..c08f1b8903
* src/tools: 6632a545dd..97138a27cc
* src/tools/luci-go: git_revision:1120f810b7ab7eb71bd618c4c57fe82a60d4f2fe..git_revision:70263bc59d62128d76f23e84906a4205ebbb749a
* src/tools/luci-go: git_revision:1120f810b7ab7eb71bd618c4c57fe82a60d4f2fe..git_revision:70263bc59d62128d76f23e84906a4205ebbb749a
* src/tools/luci-go: git_revision:1120f810b7ab7eb71bd618c4c57fe82a60d4f2fe..git_revision:70263bc59d62128d76f23e84906a4205ebbb749a
DEPS diff: 304823aaf0..a48436a40a/DEPS

No update to Clang.

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

Change-Id: I9a05ace1faa31c30dc319aab37a0a05a9298045b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228460
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@{#34718}
2021-08-11 10:49:05 +00:00
10ed5f98b9 Increase sigslot internal pointer representation to 24 bytes.
Bug: webrtc:12836
Change-Id: Ic3bfa7fd637d27d580e6921afadb364bbba2fe03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228425
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34717}
2021-08-11 09:32:32 +00:00
53d4be223b Migrate software decoders to new VideoDecoder::Configure
Bug: webrtc:13045
Change-Id: I1fa28a7c2dd59f0889d98c8ec5f58161c0ec9f95
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228380
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34716}
2021-08-11 09:16:22 +00:00
bf75041b8d Update stats_types.cc to use make_ref_counted.
Bug: webrtc:12701
Change-Id: I2db12680ae35359e02627edfea5f67910c39c431
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226740
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34715}
2021-08-11 09:02:59 +00:00
6c02c33df9 Add henrik.lundin as owner in audio/
Bug: none
No-Try: True
Change-Id: I9de4fab3b1db29c91396c371395d9d3399c80239
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228427
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34714}
2021-08-11 08:45:59 +00:00
e9655736e5 Reland "red: remove special-casing of no-redundancy"
This is a reland of 320c57b7c6bf68d8612a4f135f44b3d29e802113

Original change's description:
> red: remove special-casing of no-redundancy
>
> removes the special-casing of not sending a RED header when there is no redundant payload.
> This avoids switching back and forth between the primary and the red payload format (primarily at the start of the connection).
>
> BUG=webrtc:11640
>
> Change-Id: I8e0044bef1ed7c4168d9527645522392db2ed068
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220932
> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34703}

Bug: webrtc:11640
Change-Id: I5e5687be575183ee16d74df4a8170e4fedad739f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228422
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34713}
2021-08-11 08:26:59 +00:00
d7b7ea6106 dcsctp: remove unused WritePacketHeader method
BUG=None

Change-Id: Ieeb19ef976fe88a66a4a7b985f0600bb01044753
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226945
Reviewed-by: Victor Boivie <boivie@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@nvidia.com>
Cr-Commit-Position: refs/heads/master@{#34712}
2021-08-11 08:05:39 +00:00
8121003d15 Update WebRTC code version (2021-08-11T04:05:19).
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Idbd45784b1831cf2ef5cf170403f4b36ebce60ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228444
Reviewed-by: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#34711}
2021-08-11 05:54:06 +00:00
81e19fea4f Roll chromium_revision 383c5205be..304823aaf0 (910497:910626)
Change log: 383c5205be..304823aaf0
Full diff: 383c5205be..304823aaf0

Changed dependencies
* src/base: 16479c6f13..8ada907420
* src/build: 1d18359974..bbf7f0ed65
* src/ios: 9bf0d7c3da..0787826362
* src/testing: 73ebbcfad3..30fcc783eb
* src/third_party: 37418be77b..3cfa0080be
* src/third_party/androidx: 2x0RaVwBwxRoEqsOfKvBqGyoI_asDh5FLRC5F_o9PiYC..5FmojmYp53y0XBXcZuz3Mglv3JiYPGYex2LMT6kbzv8C
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/b35ee4986e..abc7ba7d87
* src/third_party/depot_tools: 4f3583d6d5..49a703f3d9
* src/tools: 7381b38f23..6632a545dd
DEPS diff: 383c5205be..304823aaf0/DEPS

No update to Clang.

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

Change-Id: I9dfa265352eab96104d3ed42f09bee00ad0677a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228442
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@{#34710}
2021-08-11 03:24:22 +00:00
5c375fe5c8 Roll chromium_revision fc6bee4515..383c5205be (910288:910497)
Change log: fc6bee4515..383c5205be
Full diff: fc6bee4515..383c5205be

Changed dependencies
* src/base: b12754566f..16479c6f13
* src/build: fec3cbb4cf..1d18359974
* src/buildtools/third_party/libunwind/trunk: b79b97c1f6..b825591df3
* src/ios: 155154d8a2..9bf0d7c3da
* src/testing: 3b5dec3ed1..73ebbcfad3
* src/third_party: 0e2e49c6bf..37418be77b
* src/third_party/androidx: eX56cS56N9qCnvqydGMdLomSzdAsiZCC3_miMAh-K_wC..2x0RaVwBwxRoEqsOfKvBqGyoI_asDh5FLRC5F_o9PiYC
* src/third_party/breakpad/breakpad: b95c4868b1..bc7ddae234
* src/third_party/depot_tools: 24dc2c7823..4f3583d6d5
* src/third_party/googletest/src: aefb45469e..47f819c3ca
* src/third_party/libjpeg_turbo: ad8b3b0f84..ff19e5b2e1
* src/third_party/perfetto: bb09784511..3f8fabd85f
* src/tools: 7d1294d67c..7381b38f23
DEPS diff: fc6bee4515..383c5205be/DEPS

No update to Clang.

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

Change-Id: I384a4ab0377d479f42405f1a4d1ed93db819a9ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228440
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@{#34709}
2021-08-10 22:42:30 +00:00
d4716eaf60 dcsctp: Add metrics support
To support implementing RTCSctpTransportStats, a few metrics are needed.

Some more were added that are useful for metric collection in SFUs.

Bug: webrtc:13052
Change-Id: Idafd49e1084922d01d3e6c5860715f63aea08b7d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228243
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34708}
2021-08-10 20:01:46 +00:00
1118ebac0a Revert "red: remove special-casing of no-redundancy"
This reverts commit 320c57b7c6bf68d8612a4f135f44b3d29e802113.

Reason for revert:
Breaks CI tests: https://ci.chromium.org/ui/p/webrtc/builders/ci/Linux32%20Release/27236/overview
All CI tests: https://ci.chromium.org/p/webrtc/g/ci/console
Error is of the following type:
```
../../modules/audio_coding/codecs/red/audio_encoder_copy_red_unittest.cc:195: Failure
Expected equality of these values:
  1u
    Which is: 1
  encoded_info_.encoded_bytes
    Which is: 2
Stack trace:
  0x56b298d9: webrtc::AudioEncoderCopyRedTest_CheckPayloadSizesSingle_Test::TestBody()
  0x572fe317: testing::internal::HandleExceptionsInMethodIfSupported<>()
  0x572fe1d4: testing::Test::Run()
  0x572ff2ee: testing::TestInfo::Run()
```

Original change's description:
> red: remove special-casing of no-redundancy
>
> removes the special-casing of not sending a RED header when there is no redundant payload.
> This avoids switching back and forth between the primary and the red payload format (primarily at the start of the connection).
>
> BUG=webrtc:11640
>
> Change-Id: I8e0044bef1ed7c4168d9527645522392db2ed068
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/220932
> Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
> Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
> Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34703}

TBR=henrik.lundin@webrtc.org,devicentepena@webrtc.org,minyue@webrtc.org,philipp.hancke@googlemail.com,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: Ide409232720df32b24022f99228f3b6ae81f06fe
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11640
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228421
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34707}
2021-08-10 18:09:16 +00:00
82ea522b27 dcsctp: Track the number of inflight DATA items
This corresponds to one part of sstat_unackdata in RFC6458. The
remaining part is the data in the send queue, which isn't packetized
yet, so it must be estimated. But the DATA items in the retransmission
queue is already determined, so it can be easily tracked and retrieved.

Bug: webrtc:13052
Change-Id: I16c3b5b61eb6b3022d7104e6457d943d5df3d6b9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228240
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34706}
2021-08-10 18:00:26 +00:00
2ddc39e2b9 Add max pre-decode queue size threshold for pacing
When pacing is enabled for the low latency rendering path,
frames are sent to the decoder in regular intervals. In case of a
jitter, these frames intervals could add up to create a large latency.
Hence, disable frame pacing if the pre-decode queue grows beyond the
threshold. The threshold for when to disable frame pacing is set
through a field trial. The default value is high enough so that
the behavior is not changed unless the field trial is specified.

Bug: chromium:1237402
Change-Id: I901fd579f68da286eca3d654118f60d3c55e21ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228241
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34705}
2021-08-10 17:01:53 +00:00