Skip to content

Conversation

@mininny
Copy link
Contributor

@mininny mininny commented Oct 1, 2021

No description provided.

Tommi and others added 30 commits June 4, 2021 12:32
UpdateActiveSimulcastLayers has been blocking
WebRtcVideoChannel::SetSend which may be called quite frequently during
negotiations. This CL changes UpdateActiveSimulcastLayers to not
synchronize with the transport's task queue to wait for the changes to
get applied.

This synchronization is quite costly, but so too are other remaining
things in VideoSendStream, so we should aim to get rid of the
`thread_sync_event_` in VideoSendStream.

Bug: webrtc:12840, webrtc:12854
Change-Id: Idb48d29b6b8382881c7c1e6f1d0f5e708dbca30f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221203
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34228}
Change log: https://chromium.googlesource.com/chromium/src/+log/b54a8c30e7..44fa1f9723
Full diff: https://chromium.googlesource.com/chromium/src/+/b54a8c30e7..44fa1f9723

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/b006ae39d1..ebd72f5c3a
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/bf4ecd926c..5f88cb3c2c
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/5bd5c4f9b4..3321bf9f5d
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/10cb761b19..f39abc2692
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/d030bb4cd0..3261a3665e
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9705687c25..8891092106
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/ae2171b89c..5874d918cf
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/5617cf30e7..a761ddb116
* src/tools/luci-go: git_revision:c9957ed0ce0fd363aac127056344eba1b873bad0..git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418
* src/tools/luci-go: git_revision:c9957ed0ce0fd363aac127056344eba1b873bad0..git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418
* src/tools/luci-go: git_revision:c9957ed0ce0fd363aac127056344eba1b873bad0..git_revision:2cc9805d5ad186367461ef1c4f0c59098b450418
DEPS diff: https://chromium.googlesource.com/chromium/src/+/b54a8c30e7..44fa1f9723/DEPS

No update to Clang.

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

Change-Id: Ic4beb4c1f5fdf4d036dae8e0b2fd2bc79d9c2a53
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221342
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@{#34229}
AV1X->AV1 mapping added to SdpVideoFormatToVideoCodecInfo in
https://webrtc-review.googlesource.com/c/src/+/215586 results in
discrepancy of codec name between SDP and VideoCodecInfo. That violates
VideoCodecInfo design and breaks downstream projects.

This CL moves the mapping from VideoCodecInfoToSdpVideoFormat and
SdpVideoFormatToVideoCodecInfo to VideoCodecTypeMime.

Bug: b/181690054
Change-Id: I2a76524c29b082241f2ec72a60a209ce9b0c7c5f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221205
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34230}
Bug: None
Change-Id: I4c0ab1ba7730bdcdd826aa41b67b80a96d92c8f3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221204
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34231}
Change log: https://chromium.googlesource.com/chromium/src/+log/44fa1f9723..f54fe52cfb
Full diff: https://chromium.googlesource.com/chromium/src/+/44fa1f9723..f54fe52cfb

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/ebd72f5c3a..bc326ab4e8
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/3321bf9f5d..180aa0046f
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/f39abc2692..df91f460b6
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/3261a3665e..fb53793609
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/712eb08096..b8eb01bccd
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/8891092106..8b3bc259a0
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/5874d918cf..2d7bf1e435
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/a761ddb116..bbe63f05b8
DEPS diff: https://chromium.googlesource.com/chromium/src/+/44fa1f9723..f54fe52cfb/DEPS

No update to Clang.

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

Change-Id: If3540b1e191c7d58523f3900e7ca763c934012ae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221345
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@{#34232}
This is to address a test failure seen on the msan bot(s).

Tbr: handellm@webrtc.org
Bug: webrtc:12857
Change-Id: I77cbe158e3d0aae62d4a4c0783d5ee6d74edcc22
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221362
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34233}
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Iebd999259a109a0776f36b1cd49b4d3debd64260
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221400
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@{#34235}
Change log: https://chromium.googlesource.com/chromium/src/+log/2951ce9ba1..8d359ae542
Full diff: https://chromium.googlesource.com/chromium/src/+/2951ce9ba1..8d359ae542

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/47c75183d7..1b195da248
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/5f88cb3c2c..e353b02625
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/76595faf30..e470857626
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/0231deaeb8..8dc98b062a
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/672883196a..07fdd542df
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/84decbd7a4..8bf7a0b3c8
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/3ba11d965c..a5b6b2f8b7
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/1e3438b50c..0ccc146add
DEPS diff: https://chromium.googlesource.com/chromium/src/+/2951ce9ba1..8d359ae542/DEPS

Clang version changed llvmorg-13-init-11649-g4d788fb8:llvmorg-13-init-11999-g50c0aaed
Details: https://chromium.googlesource.com/chromium/src/+/2951ce9ba1..8d359ae542/tools/clang/scripts/update.py

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

Change-Id: I37495c771784dad3cf7c71a9a80fa937015a5033
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221460
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@{#34236}
Bug: webrtc:12840
Change-Id: I57e5373ae33060bd3743cea8ada21c845cbbd944
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221365
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34237}
Change log: https://chromium.googlesource.com/chromium/src/+log/8d359ae542..98040cdbe1
Full diff: https://chromium.googlesource.com/chromium/src/+/8d359ae542..98040cdbe1

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/1b195da248..2f1ff63074
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/e353b02625..5021a63bb8
* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/eb65cc3594..c793cca886
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/e470857626..0f34c2d05e
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/8dc98b062a..a45949a818
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/07fdd542df..24ab3093b5
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/2d7bf1e435..468c71c71f
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/0ccc146add..d92ea2e55e
DEPS diff: https://chromium.googlesource.com/chromium/src/+/8d359ae542..98040cdbe1/DEPS

No update to Clang.

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

Change-Id: Ie16def31747095040cc66cd2f0e3e3e2bed8317b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221446
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@{#34238}
Removes dependence on rtc::Thread APIs from BPAS, which removes
the need to remove callbacks via rtc::Thread::Clear().

Bug: webrtc:12840
Change-Id: I0bcc1828c5ab38f521b583f52707174961f28e8a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221366
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34239}
Bug: webrtc:12840
Change-Id: Ic25ceb9a487b28575ab7530c54b13781ed404f7a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221367
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34240}
AllocationSequence uses legacy rtc::Thread message handling. In order
to cancel callbacks it uses rtc::Thread::Clear() which uses locks and
necessitates looping through all currently queued (unbounded) messages
in the thread. In particular, these Clear calls are common during
negotiation and the probability of having a lot of queued messages is
high due to a long-running network thread function invoked on the
network thread.

Fix this by migrating AllocationSequence to task queues.

Bug: webrtc:12840, webrtc:9702
Change-Id: I42bbdb59fb2c88b50e866326ba15134dcc6ce691
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221369
Commit-Queue: Markus Handell <handellm@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34241}
Change log: https://chromium.googlesource.com/chromium/src/+log/98040cdbe1..a72439959b
Full diff: https://chromium.googlesource.com/chromium/src/+/98040cdbe1..a72439959b

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/2f1ff63074..3f16b04533
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/5021a63bb8..e3a96c8e5c
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/0f34c2d05e..e5c25cbeaf
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/a45949a818..447023e6cd
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/24ab3093b5..a749529524
* src/third_party/androidx: 8d-gGcc4KVhOnn2B-Od7eR421Q-sNZQ0U7dMrNz_VX4C..SZh6kDBh5bVJm_ADaQfC6SaHIHPyAeMCYgYd3xRQsegC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8bf7a0b3c8..c8ae7ec534
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a5b6b2f8b7..730b974ee7
* src/third_party/harfbuzz-ng/src: https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git/+log/7ab0f4eda9..4811e8f5d7
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/468c71c71f..0856d6eecd
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/d92ea2e55e..a5750d3a3e
DEPS diff: https://chromium.googlesource.com/chromium/src/+/98040cdbe1..a72439959b/DEPS

No update to Clang.

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

Change-Id: I6a0cf41fba1cb69f14aee93dd4df7c34e8383449
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221620
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@{#34242}
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Idddcfd5a877bebe57ab9dfa56bddfb9c7acc31a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221583
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@{#34243}
CandidateStats didn't use an initializer list which caused the
`candidate` member variable to be constructed with a random id
(calling an expensive rng method), only to be overwritten directly
thereafter.

Bug: webrtc:12840
Change-Id: I0366f674281d236896cb9539812dc2d88c1b37ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221600
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34244}
This is step 1: Encapsulating the data.

Bug: webrtc:12837
Change-Id: I15df30dc294c90136a90b072608ed4c2e8925dcb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221602
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34245}
Bug: webrtc:12837
Change-Id: I886ec89427207e1dc291c9959f1b6113c97cbca3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221616
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34246}
Change log: https://chromium.googlesource.com/chromium/src/+log/a72439959b..94153b0fd3
Full diff: https://chromium.googlesource.com/chromium/src/+/a72439959b..94153b0fd3

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/3f16b04533..5a68ea2e71
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/e3a96c8e5c..867c91367b
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/e5c25cbeaf..4d744bfccd
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/447023e6cd..a62f8260df
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/a749529524..9902a775a4
* src/third_party/androidx: SZh6kDBh5bVJm_ADaQfC6SaHIHPyAeMCYgYd3xRQsegC..edF71ADEJsA1sqDrrY8PjDKnkcq2cl0b1QIqYCYBc7sC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/c8ae7ec534..d598390f02
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/730b974ee7..b508ecd932
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/0856d6eecd..5ca51f9111
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/a5750d3a3e..09c4bddd98
DEPS diff: https://chromium.googlesource.com/chromium/src/+/a72439959b..94153b0fd3/DEPS

No update to Clang.

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

Change-Id: I5f7fa92ea4b02d19e133d02e99d701b5d008c022
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221680
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@{#34247}
Bilinear is faster but lesser quality, box is best quality. Our code
base has disagreed about which filter to use for quite some time,
causing aliasing bug reports. In an effort to avoid aliasing artifacts
and make our scaling filters more predictable, we're updating all uses
to kFilterBox.

WebRTC already uses kFilterBox everywhere except for these three
places. The main discrepency was between Chromium and WebRTC but that
has already been fixed. This CL fixes the last remaining bilinears.

This brings the WebRTC kFilterBox use count up from 11 to 14 and the
kFilterBilinear use count down from 3 to 0.

Bug: chromium:1212630
Change-Id: I5fe4aa92b9275d65b91ea97925533055d190d317
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221372
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34248}
Change log: https://chromium.googlesource.com/chromium/src/+log/94153b0fd3..415567486a
Full diff: https://chromium.googlesource.com/chromium/src/+/94153b0fd3..415567486a

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/5a68ea2e71..94292e26b8
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/867c91367b..2367e0d9b9
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/4d744bfccd..dfc8f770ad
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/a62f8260df..6f9b775a98
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/9902a775a4..a8c955adab
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib: version:2@1.4.32.cr0..version:2@1.5.10.cr0
* src/third_party/android_deps/libs/org_jetbrains_kotlin_kotlin_stdlib_common: version:2@1.4.32.cr0..version:2@1.5.10.cr0
* src/third_party/androidx: edF71ADEJsA1sqDrrY8PjDKnkcq2cl0b1QIqYCYBc7sC..X9QRQdySUF6AfnqQBWGClKiBkrEs0dsHy1AorJ0Ekt8C
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d598390f02..859c953d28
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b508ecd932..b9236628c6
* src/third_party/freetype/src: https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/2a6665a4c0..08f66322e3
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/5ca51f9111..853a6d0426
* src/third_party/r8: gXyBDv_fM87KnLcxvF5AGV5lwnm-JXIALYH8zrzdoaMC..b-pZFt8hs7xMMaJ7r94g-oiaVJSYzLOfpduSfYquzM4C
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/09c4bddd98..58a1b6a76b
DEPS diff: https://chromium.googlesource.com/chromium/src/+/94153b0fd3..415567486a/DEPS

Clang version changed llvmorg-13-init-11999-g50c0aaed:llvmorg-13-init-11649-g4d788fb8
Details: https://chromium.googlesource.com/chromium/src/+/94153b0fd3..415567486a/tools/clang/scripts/update.py

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

Change-Id: Ia3a80a9affa2c43d48eaa12211a547cf2484cac3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221682
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@{#34249}
Change log: https://chromium.googlesource.com/chromium/src/+log/415567486a..d2f297f391
Full diff: https://chromium.googlesource.com/chromium/src/+/415567486a..d2f297f391

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/94292e26b8..5b7059db9a
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/2367e0d9b9..921ea5898e
* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/c793cca886..9d8449e380
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/dfc8f770ad..76fd3a66e2
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/6f9b775a98..9ff56dc5b0
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/a8c955adab..e7589e0105
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/3dd9864fea..7fffa4636c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/859c953d28..df0a59ab02
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b9236628c6..4bb3a7d00d
* src/third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/53495a2a7d..5bcd8e3bb9
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/853a6d0426..b9f666ed45
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/58a1b6a76b..84ce063ff6
DEPS diff: https://chromium.googlesource.com/chromium/src/+/415567486a..d2f297f391/DEPS

No update to Clang.

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

Change-Id: I51629340ddcf68155718dca7abeb7b1405c6cc89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221780
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@{#34250}
We want to turn off PT based demux because SSRC-based endpoints that
send media prematurely (which is a popular non-standard behavior still
heavily in use) can otherwise get incorrect mappings and unsignalled
ssrc issues because of the PT demux path.

This CL disables PT based demuxing when the MID header extension is
present on all m= sections in the SDP for that kind (audio/video), not
caring if it was in the offer or answer. However if PT demuxing has been
used in the past then it is always allowed. This ensures PT is off by
default but that either offer or answer can enable PT and once it has
been on it is also possible to get early media with PT.

- Want PT-based demux? The MID header extension has to be removed in
  either the offer or the answer. Follow-up O/As allow PT demuxing if
  possible.
- Want to use MID or SSRC demuxing? Great, you don't need PT-based demux
  and won't mind that we turned it off for you.

The reason for disabling PT demux at offer time (if MID is present)
instead of waiting for the SDP answer is because by the time the SDP
answer arrives, early media could have triggered PT demux and caused
incorrect mappings. The safe thing is to assume a spec-compliant
endpoint until proven otherwise.

However if PT demux is ever enabled, then from that point on we always
allow PT-based demux in follow-up O/A exchanges. This ensures we don't
drop packets in follow-up exchanges. The fact that PT-based demux is
disabled during the initial offer should not matter because before the
initial O/A exchange we don't have fingerprints.

This change only affects Unified Plan and bundled groups. Existing test
coverage ensuring we do not break legacy endpoints:
[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/pc/peer_connection_integrationtest.cc;l=1156
[2] https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/webrtc/protocol/rtp-demuxing.html;l=59

UnsignaledStreamTest is also updated to test the interesting setups.
A kill-switch is added in case we want to disable this change.

Bug: webrtc:12814
Change-Id: I807a82a543325753633aaef698e06cb4c9dfebaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221101
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34251}
Instead, adding specific setters that are needed at runtime:
* SetDepacketizerToDecoderFrameTransformer
* SetDecoderMap
* SetUseTransportCcAndNackHistory

The whole config struct is big and much of the state it holds, needs to
be considered const. For that reason the Reconfigure() method is too
broad of an interface since it overwrites the whole config struct
and doesn't actually handle all the potential config changes that might
occur when the config changes.

Bug: webrtc:11993
Change-Id: Ia5311978f56b2e136781467e44f0d18039f0bb2d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221363
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34252}
This reverts commit e2561e1.

Reason for revert: Speculative revert: breaks an downstream project

Original change's description:
> Remove AudioReceiveStream::Reconfigure() method.
>
> Instead, adding specific setters that are needed at runtime:
> * SetDepacketizerToDecoderFrameTransformer
> * SetDecoderMap
> * SetUseTransportCcAndNackHistory
>
> The whole config struct is big and much of the state it holds, needs to
> be considered const. For that reason the Reconfigure() method is too
> broad of an interface since it overwrites the whole config struct
> and doesn't actually handle all the potential config changes that might
> occur when the config changes.
>
> Bug: webrtc:11993
> Change-Id: Ia5311978f56b2e136781467e44f0d18039f0bb2d
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221363
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34252}

TBR=saza@webrtc.org,nisse@webrtc.org,tommi@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I15ca2d8ee5fd612e13dc1f4b3bfb9c885c21dc66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11993
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221746
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34253}
As a side effect, break out pc/simulcast_description.

Step 1: Don't move the {h,cc} files; just declare the targets
so that downstream projects can add dependencies on it.

Bug: webtc:11967
Change-Id: Iad3d77513af418b664c1bef46070177ed24027fc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221603
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34254}
This reverts commit 8a18e5b.

Reason for revert: Removing the problematic DCHECK.

Original change's description:
> Revert "Remove AudioReceiveStream::Reconfigure() method."
>
> This reverts commit e2561e1.
>
> Reason for revert: Speculative revert: breaks an downstream project
>
> Original change's description:
> > Remove AudioReceiveStream::Reconfigure() method.
> >
> > Instead, adding specific setters that are needed at runtime:
> > * SetDepacketizerToDecoderFrameTransformer
> > * SetDecoderMap
> > * SetUseTransportCcAndNackHistory
> >
> > The whole config struct is big and much of the state it holds, needs to
> > be considered const. For that reason the Reconfigure() method is too
> > broad of an interface since it overwrites the whole config struct
> > and doesn't actually handle all the potential config changes that might
> > occur when the config changes.
> >
> > Bug: webrtc:11993
> > Change-Id: Ia5311978f56b2e136781467e44f0d18039f0bb2d
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221363
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Commit-Queue: Tommi <tommi@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#34252}
>
> TBR=saza@webrtc.org,nisse@webrtc.org,tommi@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I15ca2d8ee5fd612e13dc1f4b3bfb9c885c21dc66
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:11993
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221746
> Commit-Queue: Artem Titov <titovartem@webrtc.org>
> Reviewed-by: Andrey Logvin <landrey@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34253}

# Not skipping CQ checks because this is a reland.

Bug: webrtc:11993
Change-Id: I0d3bf9abdcdc8d3f9259d014e6074a5e6b6cc73c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221747
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34255}
This was found when fuzzing. If the specified number of parameter count
was larger than std::numeric_limits<size_t>::max()/2, the comparison
would overflow and read out-of-bounds. This would only apply to 32-bit
platforms and it would lead to a crash as it would access all of the
virtual memory range, and more.

Fixed: chromium:1216758
Change-Id: I2193d3ed078120b6c3e4645c0b16b9f230055e8d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221742
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34256}
* Removes playing_lock_, sync_info_lock_ and video_sync_lock_.
* Also remove video_capture_thread_race_checker_ which was redundant.

Only video_sync_lock_ was actually needed. The other two aren't needed
anymore because of changes made to RtpStreamsSynchronizer class last
year (see webrtc:11489).

In the one case where we had a lock, we post a task to the thread
where the state is maintained. This task is for capturing histograms
which I'm not sure we should have been capturing on the audio thread
anyway.

Also making ChannelReceiveFrameTransformerDelegate compatible with more
tests by using TaskQueueBase instead of rtc::Thread. A number of tests
that instantiate ChannelReceive (and thereby CRFTD) set the worker
thread as a TQ and not actually an rtc::Thread instance. In those cases
CRFTD would previously have gotten a nullptr for the worker thread.

Bug: webrtc:11993
Change-Id: I59f4b2afbfedb06f241d9a613f8538adc19cd6d8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/221364
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34257}
webrtc-version-updater and others added 23 commits July 12, 2021 05:48
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Ia0291826304e065fdd6facc8389c9b1620390b59
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225782
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@{#34455}
Change log: https://chromium.googlesource.com/chromium/src/+log/a564f9a8f4..e3a078c0d6
Full diff: https://chromium.googlesource.com/chromium/src/+/a564f9a8f4..e3a078c0d6

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/6505eb903d..9dd1beb472
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/3af99fdbfd..4f3e996a80
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/6d66809e9b..0a72441818
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/35cb7f1aaf..e065358b5a
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/d7de730765..0318c5521f
* src/third_party/androidx: j1av4wGC5BvTRPzU3WnROMwFRUSekTHSjPTBm_Ud594C.._LKV6brUkzjMrW14NMWFjfj_r6ivlu8sDlRiEfRmsO4C
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/71d582b360..d045383623
* src/third_party/usrsctp/usrsctplib: https://chromium.googlesource.com/external/github.com/sctplab/usrsctp/+log/fc5cba21a0..1ade45cbad
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/64fd281ab4..8829b3decf
DEPS diff: https://chromium.googlesource.com/chromium/src/+/a564f9a8f4..e3a078c0d6/DEPS

Clang version changed llvmorg-13-init-14732-g8a7b5ebf:llvmorg-13-init-15040-gc10947b5
Details: https://chromium.googlesource.com/chromium/src/+/a564f9a8f4..e3a078c0d6/tools/clang/scripts/update.py

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

Change-Id: I6fd6df7b49cdfc5463f4d0ef0daf0150b18916e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225731
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@{#34456}
Change log: https://chromium.googlesource.com/chromium/src/+log/e3a078c0d6..ab1696a8d1
Full diff: https://chromium.googlesource.com/chromium/src/+/e3a078c0d6..ab1696a8d1

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/9dd1beb472..84a2e76e2f
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/4f3e996a80..f080e7fe97
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/0a72441818..8e89637dca
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/e065358b5a..b4ba35c7ff
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/0318c5521f..72ef7379cf
* src/third_party/androidx: _LKV6brUkzjMrW14NMWFjfj_r6ivlu8sDlRiEfRmsO4C..gzeKboANx6mGXwrAAyzTn8vZ21URSzhIsHXcKEfxIr0C
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/d045383623..9d04c12dbe
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/8829b3decf..6b67cadae5
DEPS diff: https://chromium.googlesource.com/chromium/src/+/e3a078c0d6..ab1696a8d1/DEPS

No update to Clang.

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

Change-Id: I0873d40e6ad972e287dbdb50f7546d42ce34bb91
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225840
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@{#34457}
The previous logic to abandon chunks when partial reliability was used
was a bit too eager and trigger happy.

 * Chunks with limited retransmissions should only be abandoned when a
   chunk is really considered lost. It should follow the same rules as
   for retransmitting chunks - that it must be nacked three times or
   due to a T3-RTX expiration. Before this change, a single SACK not
   referencing it would be enough to abandon it. This resulted in a lot
   of unnecessary sent FORWARD-TSN and undelivered messages - especially
   if running with zero retransmissions.

   The logic to expire chunks by limited retransmissions will now only
   be applied when a chunk is actually nacked.

 * The second partial reliability trigger - expiration time - wasn't
   evaluated when producing a middle chunk of a larger message.

A number of test cases were added and updated as chunks will now be
abandoned immediately instead of first scheduled for retransmission and
later abandoned.

Bug: webrtc:12961
Change-Id: I0ae17b2672568bdbdc32073a99d4c24b09ff5fe9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225548
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Victor Boivie <boivie@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34458}
Change log: https://chromium.googlesource.com/chromium/src/+log/ab1696a8d1..2945be3cf4
Full diff: https://chromium.googlesource.com/chromium/src/+/ab1696a8d1..2945be3cf4

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/84a2e76e2f..d51b8338d3
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/8e89637dca..97a7aa55f8
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/b4ba35c7ff..4f683cd3ca
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/72ef7379cf..8783a04a0d
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f691b8d997..59b2e89091
* src/third_party/perfetto: https://android.googlesource.com/platform/external/perfetto.git/+log/9d04c12dbe..aecbd80f57
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/6b67cadae5..10829a05e3
DEPS diff: https://chromium.googlesource.com/chromium/src/+/ab1696a8d1..2945be3cf4/DEPS

Clang version changed llvmorg-13-init-15040-gc10947b5:llvmorg-13-init-14732-g8a7b5ebf
Details: https://chromium.googlesource.com/chromium/src/+/ab1696a8d1..2945be3cf4/tools/clang/scripts/update.py

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

Change-Id: I59b2b90e1dbd28d47385cba7ff18f8c3fb3431df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225860
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@{#34459}
Change log: https://chromium.googlesource.com/chromium/src/+log/2945be3cf4..2bb5b1a1b1
Full diff: https://chromium.googlesource.com/chromium/src/+/2945be3cf4..2bb5b1a1b1

Changed dependencies
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/f080e7fe97..9c63d2e3b0
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/97a7aa55f8..5ec64dc385
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/4f683cd3ca..bc1396c8b8
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/8783a04a0d..bc78b5f00d
* src/third_party/androidx: gzeKboANx6mGXwrAAyzTn8vZ21URSzhIsHXcKEfxIr0C..jiRYYawcc0irI4AKkkbC0H2fB0mv4vUpWlsqcDKOdMoC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/59b2e89091..4a3ec1268e
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/10829a05e3..4b3261e487
* src/tools/luci-go: git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86..git_revision:01aa19ce019f7bf94712f3dd2538cf72a2a3451b
* src/tools/luci-go: git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86..git_revision:01aa19ce019f7bf94712f3dd2538cf72a2a3451b
* src/tools/luci-go: git_revision:2f836b4882d2fa8c7a44c8ac8881c3a17fad6a86..git_revision:01aa19ce019f7bf94712f3dd2538cf72a2a3451b
DEPS diff: https://chromium.googlesource.com/chromium/src/+/2945be3cf4..2bb5b1a1b1/DEPS

No update to Clang.

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

Change-Id: Ie5a00b5364a999215ca6c0edfdad294047c486e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225841
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@{#34460}
TBR=webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com,mbonadei@webrtc.org

Bug: None
Change-Id: Iba87a93109cd0e715fae5d989a2da5c80325ede1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225862
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@{#34461}
This reverts commit e2ab77b.

See bugs, this CL seems to be the culprit of crashes in
cricket::TurnPort::OnMessage and
jingle_glue::JingleThreadWrapper::Dispatch.

TBR=handellm@webrtc.org, hta@webrtc.org

Bug: chromium:1227839, chromium:1228462
Change-Id: I7521210970fe543a01682bb08de31ac025e79981
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225880
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34462}
Change log: https://chromium.googlesource.com/chromium/src/+log/2bb5b1a1b1..6d8828f6a6
Full diff: https://chromium.googlesource.com/chromium/src/+/2bb5b1a1b1..6d8828f6a6

Changed dependencies
* src/base: https://chromium.googlesource.com/chromium/src/base/+log/d51b8338d3..e1acc6a309
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/9c63d2e3b0..8269260083
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/5ec64dc385..695a354117
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/bc1396c8b8..d749d1b98b
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/bc78b5f00d..c1d40d8b39
* src/third_party/androidx: jiRYYawcc0irI4AKkkbC0H2fB0mv4vUpWlsqcDKOdMoC..-umIXLPTAdxRy2iaK4QFSeOf4t7PAKglJP7ggvWhfRwC
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4a3ec1268e..3345f09ed6
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/4b3261e487..1a00526b21
* src/tools/luci-go: git_revision:01aa19ce019f7bf94712f3dd2538cf72a2a3451b..git_revision:2ac8bd9cbc20824bb04a39b0f1b77178ace930b3
* src/tools/luci-go: git_revision:01aa19ce019f7bf94712f3dd2538cf72a2a3451b..git_revision:2ac8bd9cbc20824bb04a39b0f1b77178ace930b3
* src/tools/luci-go: git_revision:01aa19ce019f7bf94712f3dd2538cf72a2a3451b..git_revision:2ac8bd9cbc20824bb04a39b0f1b77178ace930b3
DEPS diff: https://chromium.googlesource.com/chromium/src/+/2bb5b1a1b1..6d8828f6a6/DEPS

No update to Clang.

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

Change-Id: I6dcb26d533a3cf7d9f1c5492f2849707a2edcdd8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225900
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@{#34463}
When layers are activated/deactivated via UpdateActiveSimulcastLayers,
the flag wasn't being updated. This resulted in calls to Stop() getting
ignored after an implicit start via activating layers.

(cherry picked from commit 35b1cb4)

Bug: chromium:1234779
Change-Id: I4a72e624874526d27d3e97d6903112367c5e77fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227700
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#34654}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227965
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/branch-heads/4577@{#1}
Cr-Branched-From: 5196931-refs/heads/master@{#34463}
…transport at add-track"

This reverts commit 7a2db8a.

After this commit, the PeerConnection would assume that any new m=
sections will be added to the first existing BUNDLE group. This is true
of JSEP endpoints (if they don't do SDP munging), but is not necessarily
true for non-JSEP endpoints. This breaks the following scenarios:

* Remote offer adding a new m= section that's not part of any BUNDLE group.
* Remote offer adding a 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 now-deprecated Plan B without bundling.

TBR=hta@webrtc.org

Bug: webrtc:12837, webrtc:12906, chromium:1236202
Change-Id: I97a348c96443dee95e2b42792b73ab7b101fd64c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227681
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/branch-heads/4577@{#2}
Cr-Branched-From: 5196931-refs/heads/master@{#34463}
Schedule the frames to be decoded based on the pacing delay from the
last decode scheduled time. In the current implementation, multiple
threads and different functions in same thread can call
MaxWaitingTime(), thereby increasing the wait time each time the
function is called. Instead of returning the wait time for a future
frame based on the number of times the function is called, return the
wait time only for the next frame to be decoded. Threads can call the
function repeatedly to check the waiting time for next frame and wake
up and then go back to waiting if an encoded frame is not available.

(cherry picked from commit 82c2248)

Change-Id: I00886c1619599f94bde5d5eb87405572e435bd73
Bug: chromium:1237402
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/226502
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#34660}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228532
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/branch-heads/4577@{#3}
Cr-Branched-From: 5196931-refs/heads/master@{#34463}
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.

(cherry picked from commit 2ddc39e)

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-Original-Commit-Position: refs/heads/master@{#34705}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228540
Cr-Commit-Position: refs/branch-heads/4577@{#4}
Cr-Branched-From: 5196931-refs/heads/master@{#34463}
Software fallback wrapper now reports least common multiple of requirements
for two encoders.

SimulcastEncoderAdapter queries actual encoder before InitEncode call
and requests alignment for all layers if simulcast is not supported by
any of the encoders.

(cherry picked from commit c98aebb)

Bug: chromium:1084702
Change-Id: Iaed8190737125d447036b6c664b863be72556a5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/225881
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#34466}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228561
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/branch-heads/4577@{#5}
Cr-Branched-From: 5196931-refs/heads/master@{#34463}
…pdating layers.

When implicit start/stop happens via activation/deactivation of layers
occurs, don't change the state of the 'alive' flag since further
activations following full de-activation need to be allowed to happen
when Stop() has not been called.

(cherry picked from commit 264cf54)

Bug: chromium:1234779
Change-Id: Ic3cae387990122eaa2f48de096ff9dafa7c34414
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228242
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#34698}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/228900
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/branch-heads/4577@{#6}
Cr-Branched-From: 5196931-refs/heads/master@{#34463}
As a first step we only want to enable frame pacing for the case
where min playout delay == 0 and max playout delay > 0.

(cherry picked from commit b2745ba)

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-Original-Commit-Position: refs/heads/master@{#34752}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/229021
Cr-Commit-Position: refs/branch-heads/4577@{#7}
Cr-Branched-From: 5196931-refs/heads/master@{#34463}
…manently.

After a send stream is stopped, it can still be re-used and implicitly
restarted by activating layers. This change removes marking the flag
we use for async operations as 'not alive' inside Stop() and only doing
so when the send stream is stopped permanently.

The effect this has is that an implicit start via
UpdateActiveSimulcastLayers() will run and correctly update the states.
Before, if a stream had been stopped, the safety flag would prevent
the async operation from running.

(cherry picked from commit 51238e6)

Bug: chromium:1241213
Change-Id: Iebdfabba3e1955aafa364760eebd4f66281bcc60
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/229304
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Original-Commit-Position: refs/heads/master@{#34809}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/229582
Cr-Commit-Position: refs/branch-heads/4577@{#8}
Cr-Branched-From: 5196931-refs/heads/master@{#34463}
…ature/update-to-m93

# Conflicts:
#	audio/channel_send.cc
#	call/rtp_video_sender.cc
#	call/rtp_video_sender_unittest.cc
#	modules/audio_processing/aec3/transparent_mode.cc
#	modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc
#	modules/video_coding/svc/scalability_structure_full_svc.cc
#	modules/video_coding/svc/scalability_structure_full_svc_unittest.cc
#	modules/video_coding/svc/scalability_structure_key_svc.cc
#	modules/video_coding/svc/scalability_structure_key_svc_unittest.cc
#	sdk/objc/native/api/audio_device_module.mm
#	sdk/objc/native/src/audio/audio_device_module_ios.mm
#	tools_webrtc/ios/build_ios_libs.py
There are two problems with setLocalDescription / setRemoteDescription
in ObjC SDK.
First, RTCSessionDescription.nativeDescription returns a raw
nullableSessionDescriptionInterface pointer, where sLD/sRD are calling
Clone() method unconditionally, so it might crash.
Second, unnecessary sLD/sRD calls Clone() of the raw pointer and
does not delete it, so this pointer will leak.

To solve these problems, I changed the return type of nativeDescription to
std::unique_ptr and removed the call to Clone() method.

Bug: webrtc:13022, webrtc:13035
Change-Id: Icbb87dda62d3a11af47ec74621cf64b8a6c05228
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227380
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Byoungchan Lee <daniel.l@hpcnt.com>
Cr-Commit-Position: refs/heads/master@{#34647}
RTCIceCandidate.nativeCandidate returns a unique_ptr that
can be null. As with the previous CL, this is used without checking
whether it is null or not, so it should be fixed.

Bug: None
Change-Id: I70a84f7a2a9a9d47b8cefa198204f9b6d63a7c7f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227620
Commit-Queue: Byoungchan Lee <daniel.l@hpcnt.com>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34649}
(cherry picked from commit 8c48757)
…-m93

Fix crash on addIceCandidate, setRemote/LocalDescription
@mininny mininny requested review from intoxicated and x-0o0 October 1, 2021 06:12
@mininny mininny merged commit 94ab479 into master Oct 1, 2021
@mininny mininny deleted the release/1.4.0 branch October 1, 2021 07:11
sf-jed-kyung pushed a commit that referenced this pull request Jul 7, 2025
This reverts commit c92fc76.

Reason for revert: Gerritt submitted patch set #10 not #12 - this broke

Original change's description:
> Assign supported codecs per section, not globally.
>
> This uses the PayloadTypeSuggester for PT disambiguation,
> ensuring that conficts are managed across the transport.
>
> Bug: webrtc:360058654
> Change-Id: Ic8f0569d0d96d97c13765169903929ec8a110104
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/383400
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
> Reviewed-by: Henrik Boström <hbos@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#44284}

Bug: webrtc:360058654
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I16d0d92fb9a1ecc65eda060f81d41faefcca1e4c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/384000
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44285}
sf-jed-kyung pushed a commit that referenced this pull request Jul 7, 2025
This reverts commit 374b892.

Reason for revert: Racing CLs sorted out

Original change's description:
> Revert "Assign supported codecs per section, not globally."
>
> This reverts commit c92fc76.
>
> Reason for revert: Gerritt submitted patch set #10 not #12 - this broke
>
> Original change's description:
> > Assign supported codecs per section, not globally.
> >
> > This uses the PayloadTypeSuggester for PT disambiguation,
> > ensuring that conficts are managed across the transport.
> >
> > Bug: webrtc:360058654
> > Change-Id: Ic8f0569d0d96d97c13765169903929ec8a110104
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/383400
> > Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> > Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
> > Reviewed-by: Henrik Boström <hbos@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#44284}
>
> Bug: webrtc:360058654
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Change-Id: I16d0d92fb9a1ecc65eda060f81d41faefcca1e4c
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/384000
> Commit-Queue: Harald Alvestrand <hta@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#44285}

Bug: webrtc:360058654
Change-Id: I80b59aab396abbc0afa60dab3516f2a22e822a5d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/383981
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44288}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.