Skip to content

Upgrade to webrtc m145#81

Open
ipavlidakis wants to merge 4593 commits intomainfrom
iliaspavlidakis/merge-webrtc-m145
Open

Upgrade to webrtc m145#81
ipavlidakis wants to merge 4593 commits intomainfrom
iliaspavlidakis/merge-webrtc-m145

Conversation

@ipavlidakis
Copy link
Copy Markdown
Contributor

No description provided.

webrtc-version-updater and others added 30 commits December 5, 2025 22:35
Bug: None
Change-Id: I47ccb42054d07e9f9e14dae378f471c56839da60
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431480
Bot-Commit: 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/main@{#46410}
This is the first step to add a phase to build WebRTC
with -std=c++23 on "more configs" bots.

Once this is landed [1] will enable the new bot phase.

[1] - https://chromium-review.googlesource.com/c/chromium/tools/build/+/7232116

Bug: chromium:388070065
Change-Id: I4f2bdfc0a18f7c2fba39a31d5c8a9dbb613f4916
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431580
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Auto-Submit: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46412}
Bug: None
Change-Id: If8c364ce9b6100b566d7629932154689e10618ef
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431760
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#46414}
Bug: None
Change-Id: I86ed94299edce88905200d3db8fe137eac6be440
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431981
Bot-Commit: 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/main@{#46415}
Change log: https://chromium.googlesource.com/chromium/src/+log/07d18163ba..cdc78b6d7c
Full diff: https://chromium.googlesource.com/chromium/src/+/07d18163ba..cdc78b6d7c

Changed dependencies
* siso_version: git_revision:41351d34a647bb3f390000f021786db0a6ad2430..git_revision:49dcca5d2be985d8ac6d512e59ee59e315264fb8
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/e9bd49146e..2971fed89b
* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/eca5f0685c..5ee2a7a7f1
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/c2b16a06e2..91c886265f
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/45aad18a51..6df177bba7
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/098d5baf00..7f448d35a3
* src/third_party/compiler-rt/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git/+log/cbcf6df2aa..a9fde25409
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/360ca09180..ac1b095b09
* src/third_party/siso/cipd: git_revision:41351d34a647bb3f390000f021786db0a6ad2430..git_revision:49dcca5d2be985d8ac6d512e59ee59e315264fb8
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/9a1338dbd5..a92fb5a751
DEPS diff: https://chromium.googlesource.com/chromium/src/+/07d18163ba..cdc78b6d7c/DEPS

BUG=None

Change-Id: I0e9279f51bbeb17258e013efc4cb7fcc4287e1db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432060
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#46416}
With these tests, I think we have enough tests to close that bug.

Bug: webrtc:463528061
Change-Id: Ie3f3d98737dca123a39fc123593755336974aa96
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431200
Auto-Submit: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46417}
which allows correlating this logging with pcaps more easily.

Bug: b:422493053
Change-Id: I20634534dc6b46ac9cbeaa994c7967a98d50b21b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431381
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46418}
No-try: true
Bug: none
Change-Id: Ia19923b21668aaae246284a53a8618f29c091bfb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431581
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46419}
Allow users to provide custom RtpTransport impls eg for platforms
which provide external SRTP encryption, following the same pattern as
the injectable DtlsTransportFactory.

Bug: chromium:443019066
Change-Id: I17dceb2e273808331f2b812de286d02609cf47b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/430722
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tony Herre <herre@google.com>
Cr-Commit-Position: refs/heads/main@{#46420}
The `is_pc_closed_` variable and `SetPeerConnectionClosed`, were
redundant. PeerConnection stops all transceivers when it closes,
checking the `stopped_` flag and calls StopInternal(), which is
sufficient to determine if the connection is closed.

Bug: none
Change-Id: I23757c21c6607a6c650a66b20db0a10c0efeac06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431281
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46421}
The mid is available on the transceivers instead. Using channel
properties in the stats code, complicates things a bit due to the
transceiver->channel hierarchy and the order of object creation. The mid
property is redundant on the channel object and should also be accessed
consistently on the network thread.

Also updates FakePeerConnectionForStats to ensure transceivers have MIDs
set when created.

Bug: none
Change-Id: I669a049e67a14106f0f0c4f17fa4d0ad86da345e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431380
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46422}
Bug: webrtc:447037083
Change-Id: Ifbb61f8578af186259f84092298507a87d8c3e06
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432120
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46423}
Change log: https://chromium.googlesource.com/chromium/src/+log/cdc78b6d7c..2d898ae89a
Full diff: https://chromium.googlesource.com/chromium/src/+/cdc78b6d7c..2d898ae89a

Changed dependencies
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/2971fed89b..17267aca59
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/91c886265f..32e5357d7b
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/6df177bba7..684532d6aa
* src/third_party/fontconfig/src: https://chromium.googlesource.com/external/fontconfig.git/+log/23b3fc6e58..d62c2ab268
* src/third_party/grpc/src: https://chromium.googlesource.com/external/github.com/grpc/grpc.git/+log/fb7b981977..664f886319
* src/third_party/perfetto: https://chromium.googlesource.com/external/github.com/google/perfetto.git/+log/8ab293da46..ec42dd387c
* src/third_party/r8/cipd: Fq2es0-0bCkqirMbdSj2rJpzrvuypdDva8j20lrg3wUC..aQiRizhSSPFGfHGuoC-0t2O4lFR5OY2qySLXtBS_vtIC
* src/third_party/turbine/cipd: DV_E8eKAtXx3kTD4avzQC_CWVnH_yOQrf80YkYt77PAC..Fr97aXogWofWM2OLPzzlPsz6pDtCWNeOCpshlUq7nHMC
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/a92fb5a751..5191566f3d
DEPS diff: https://chromium.googlesource.com/chromium/src/+/cdc78b6d7c..2d898ae89a/DEPS

BUG=None

Change-Id: I0e55eed4686aa8ae31755716059f04670d2ff944
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432140
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#46424}
Change log: https://chromium.googlesource.com/chromium/src/+log/2d898ae89a..87161b5ae3
Full diff: https://chromium.googlesource.com/chromium/src/+/2d898ae89a..87161b5ae3

Changed dependencies
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/17267aca59..d1bf74caea
* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/5ee2a7a7f1..3785ab4ac4
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/32e5357d7b..430366f580
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/abc463ecac..d8eb9c95f3
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/684532d6aa..e9cda204cb
* src/third_party/grpc/src: https://chromium.googlesource.com/external/github.com/grpc/grpc.git/+log/664f886319..da679f96fb
* src/third_party/harfbuzz-ng/src: https://chromium.googlesource.com/external/github.com/harfbuzz/harfbuzz.git/+log/7d936359a2..31695252eb
* src/third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/07572e7b16..c03062d6c9
* src/third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/a351f26463..03f822d2a8
* src/third_party/perfetto: https://chromium.googlesource.com/external/github.com/google/perfetto.git/+log/ec42dd387c..46644e5dfb
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/5191566f3d..5a88c30e99
DEPS diff: https://chromium.googlesource.com/chromium/src/+/2d898ae89a..87161b5ae3/DEPS

BUG=None

Change-Id: I55ce8fc38862a8e4c51546d758360d63a741339e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432220
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#46425}
Change log: https://chromium.googlesource.com/chromium/src/+log/87161b5ae3..2625254a72
Full diff: https://chromium.googlesource.com/chromium/src/+/87161b5ae3..2625254a72

Changed dependencies
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/d1bf74caea..cf9d55d661
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/430366f580..21acbcca89
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/d8eb9c95f3..f09c30e580
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/e9cda204cb..7afaeed360
* src/third_party/android_build_tools/nullaway/cipd: dhMJZGrjo_SN_MAYcQkEz81N-RrWqhM1pi5967oH9kAC..O_Zf07-x9h-o0nBYfdu032C5xXGXwCAD1lwZG1ZS9QEC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/7f448d35a3..21113ed83b
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ac1b095b09..4c6437f269
* src/third_party/fuzztest/src: https://chromium.googlesource.com/external/github.com/google/fuzztest.git/+log/056722f64b..fb86a0293b
* src/third_party/grpc/src: https://chromium.googlesource.com/external/github.com/grpc/grpc.git/+log/da679f96fb..cb2db8fc21
* src/third_party/perfetto: https://chromium.googlesource.com/external/github.com/google/perfetto.git/+log/46644e5dfb..891c948b58
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/5a88c30e99..a1cc1e2913
DEPS diff: https://chromium.googlesource.com/chromium/src/+/87161b5ae3..2625254a72/DEPS

BUG=None

Change-Id: Ibdac11921f6c90ee7a263ea537e27a8a449e9ed2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432260
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#46426}
Dependency in Chrome has been removed; attempt to remove the
.h files not needed downstream from the target.

Remove legacy dependencies inside webrtc; they were not needed.

Bug: webrtc:463418937
Change-Id: I5c0ca6959186af0cd42fb98874d79a05082b7b07
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431821
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46427}
Change log: https://chromium.googlesource.com/chromium/src/+log/2625254a72..6683094965
Full diff: https://chromium.googlesource.com/chromium/src/+/2625254a72..6683094965

Changed dependencies
* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/3785ab4ac4..fc67fc1cee
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/21acbcca89..bf3ffcfd5b
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/f09c30e580..1c04a8fd67
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/7afaeed360..145d967e5b
* src/third_party/android_build_tools/lint/cipd: TcGmCDImK70b_0NRH3NyXosj1PJ9u5LSTOyORvgb1GsC..WQwX5xvIym8Yib4WwgcJekV-Soj0djYnW6AXwKzwI4YC
* src/third_party/android_build_tools/manifest_merger/cipd: OBvkh0fbZDeCF-bpvFb4GG7KX8Idje9gcAfLk65VPgEC..9e2lYzfL-ltYnilrRBiHQ4fLOXmdaatw6oHGU5yJNg4C
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/21113ed83b..5f4f26f59c
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0e07ae47d5..e617119e2c
* src/third_party/fuzztest/src: https://chromium.googlesource.com/external/github.com/google/fuzztest.git/+log/fb86a0293b..893f793594
* src/third_party/grpc/src: https://chromium.googlesource.com/external/github.com/grpc/grpc.git/+log/cb2db8fc21..0a34a8cbc8
* src/third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/c03062d6c9..e82038b2e9
* src/third_party/perfetto: https://chromium.googlesource.com/external/github.com/google/perfetto.git/+log/891c948b58..cd3df3212b
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/a1cc1e2913..037af58d59
DEPS diff: https://chromium.googlesource.com/chromium/src/+/2625254a72..6683094965/DEPS

BUG=None

Change-Id: I9583264ad1893255013fa400798027005b4587de
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432320
Bot-Commit: 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/main@{#46428}
Bug: None
Change-Id: I63d87b6fd0a45df047ad56f00a4a54b02d46205f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432360
Commit-Queue: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com <webrtc-version-updater@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#46429}
This seems to have no purpose at the moment.

Bug: None
Change-Id: I82cff122af9034e14f4c544a4f9000cdf0872543
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432280
Auto-Submit: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46430}
This change adds utility functions to test::RunLoop for allowing to
waiting.

Bug: webrtc:381524905
Change-Id: Idb6bfd8f4b39c9908c95809768fd695fe63e2bbf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/430681
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46432}
I have noticed that some videos have more complicated numerator and denominator than just 30:1 or 25:1. Therefore, increasing the number of bytes needed to read in the header.

Bug: webrtc:358039777
Change-Id: I20a840b492697b8606700bac43e3805cc4067081
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/431241
Reviewed-by: Fanny Linderborg <linderborg@webrtc.org>
Commit-Queue: Emil Vardar (xWF) <vardar@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46433}
AAudio use CLOCK_MONOTONIC, AAudioWrapper queries time to compare it
with time provided by AAudio. Using `clock_gettime` ensures the same
clock is used, removes assumption webrtc::TimeNanos() use the same
CLOCK_MONOTONIC as aaudio uses.

While modifying this function, clarify the time units with a suffix

Bug: webrtc:42223992
Change-Id: I23a1525aad7518d4f4a8df379d0726b806665f14
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432500
Reviewed-by: Zoé Lepaul <zlep@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46434}
Bug: None
Change-Id: Ib665f154c3fbe04ced52d791a006b605107708f4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432300
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46435}
using
  tools_webrtc/gn_check_autofix.py -r list of build.gn files

Running this together with tools_webrtc/gn_check_autofix.py to
automatically add missing dependencies should remove unnecessary
dependencies.

Third-party dependencies are not removed.

Bug: None
Change-Id: I7ea156e0d945be6535fd00233cfc7bf980b9bf7c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/428681
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Cr-Commit-Position: refs/heads/main@{#46436}
Change log: https://chromium.googlesource.com/chromium/src/+log/be1eea1988..af415b4eb6
Full diff: https://chromium.googlesource.com/chromium/src/+/be1eea1988..af415b4eb6

Changed dependencies
* src/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/fc67fc1cee..d7c2ffbac2
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/1bb7903697..c137a62cfa
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/cc4244f40e..aad16809e3
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/3281e12c56..d95f76dd35
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/5f4f26f59c..8c7d12999b
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/4c6437f269..b48cbb3e60
* src/third_party/grpc/src: https://chromium.googlesource.com/external/github.com/grpc/grpc.git/+log/ab971ffb64..46b1795eac
* src/third_party/kotlin_stdlib/cipd: YEknx-9HQNzCcJIKjFVS6aC3YkS3WnmH7rO974KnMt0C..-F1SnCyzbnHxipraIdUVrlMIlSBLzkgUi_FoDDH8lHkC
* src/third_party/kotlinc/current: CfswLRh__v6WRa5ckFn0Zoba3WUb9a9wiL70-NHZAlQC..ZaD14L2TxUox2xMeWpt7SUvm2LlQn_EkRHdJIwfMpS8C
* src/third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/e82038b2e9..c5dd8ade97
* src/third_party/perfetto: https://chromium.googlesource.com/external/github.com/google/perfetto.git/+log/9c56498e6e..7307480b25
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/7287533dfe..31b251b6de
DEPS diff: https://chromium.googlesource.com/chromium/src/+/be1eea1988..af415b4eb6/DEPS

BUG=None

Change-Id: Ibecaac30a7937fddd5c7a4dccf160af3b17dca9a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432680
Bot-Commit: 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/main@{#46438}
…nd PQC

The submitted version is *not* run automatically, only when specifying
--bench_iterations=100.

It is to be considered a development/debugging tool.

It currently tests these configurations,
which could be a tentative release plan.

a) DTLS1.2
b) DTLS1.3
c) DTLS1.3 + PQC + DTLS-IN-STUN

The test runs each of this configuration in a set of different
environments, e.g packet loss, server candidates etc and numbers
look great, if rolled out like above, i.e. launch dtls-in-stun
and the same time as PQC.

sh> out/Release/rtc_p2p_unittests --gtest_filter='*Bench*/*' --bench_iterations=25 --bench_server_candidates=1  2>&1 | grep RES
(dtls_ice_integrationtest.cc:942): loss: 0 server_interface_count: 1 [ client: [ dtls: client/1.2 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 850 p50: 850 avg: 850 p95: 850
(dtls_ice_integrationtest.cc:942): loss: 0 server_interface_count: 1 [ client: [ dtls: client/1.3 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.3 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 750 p50: 750 avg: 750 p95: 750
(dtls_ice_integrationtest.cc:942): loss: 0 server_interface_count: 1 [ client: [ dtls: client/1.3 ice: controlling pqc: 1 dtls_in_stun: 1  ][ server: [ dtls: server/1.3 ice: controlled pqc: 1 dtls_in_stun: 1  ]] RESULT: p10: 650 p50: 650 avg: 650 p95: 650

(dtls_ice_integrationtest.cc:942): loss: 5 server_interface_count: 1 [ client: [ dtls: client/1.2 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 850 p50: 850 avg: 940 p95: 1300
(dtls_ice_integrationtest.cc:942): loss: 5 server_interface_count: 1 [ client: [ dtls: client/1.3 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.3 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 750 p50: 750 avg: 838 p95: 1150
(dtls_ice_integrationtest.cc:942): loss: 5 server_interface_count: 1 [ client: [ dtls: client/1.3 ice: controlling pqc: 1 dtls_in_stun: 1  ][ server: [ dtls: server/1.3 ice: controlled pqc: 1 dtls_in_stun: 1  ]] RESULT: p10: 650 p50: 650 avg: 666 p95: 700

(dtls_ice_integrationtest.cc:942): loss: 10 server_interface_count: 1 [ client: [ dtls: client/1.2 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 850 p50: 900 avg: 1106 p95: 2060
(dtls_ice_integrationtest.cc:942): loss: 10 server_interface_count: 1 [ client: [ dtls: client/1.3 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.3 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 750 p50: 800 avg: 910 p95: 1200
(dtls_ice_integrationtest.cc:942): loss: 10 server_interface_count: 1 [ client: [ dtls: client/1.3 ice: controlling pqc: 1 dtls_in_stun: 1  ][ server: [ dtls: server/1.3 ice: controlled pqc: 1 dtls_in_stun: 1  ]] RESULT: p10: 650 p50: 650 avg: 702 p95: 840

(dtls_ice_integrationtest.cc:942): loss: 25 server_interface_count: 1 [ client: [ dtls: client/1.2 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 870 p50: 1300 avg: 6208 p95: 11820
(dtls_ice_integrationtest.cc:942): loss: 25 server_interface_count: 1 [ client: [ dtls: client/1.3 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.3 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 750 p50: 1300 avg: 1358 p95: 2420
(dtls_ice_integrationtest.cc:942): loss: 25 server_interface_count: 1 [ client: [ dtls: client/1.3 ice: controlling pqc: 1 dtls_in_stun: 1  ][ server: [ dtls: server/1.3 ice: controlled pqc: 1 dtls_in_stun: 1  ]] RESULT: p10: 650 p50: 750 avg: 942 p95: 1800

I.e. dtls-in-stun+pqc is faster then the other combinations even with
packet loss.

However, the test also shows that we still have bugs in the code!
sh> out/Release/rtc_p2p_unittests --gtest_filter='*Bench*/*' --bench_iterations=25 --bench_pct_loss=25 --bench_server_candidates=2  2>&1 | grep RES
(dtls_ice_integrationtest.cc:942): loss: 25 server_interface_count: 2 [ client: [ dtls: client/1.2 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.2 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 870 p50: 1300 avg: 2488 p95: 8480
(dtls_ice_integrationtest.cc:942): loss: 25 server_interface_count: 2 [ client: [ dtls: client/1.3 ice: controlling pqc: 0 dtls_in_stun: 0  ][ server: [ dtls: server/1.3 ice: controlled pqc: 0 dtls_in_stun: 0  ]] RESULT: p10: 750 p50: 1200 avg: 1858 p95: 7600
(dtls_ice_integrationtest.cc:942): loss: 25 server_interface_count: 2 [ client: [ dtls: client/1.3 ice: controlling pqc: 1 dtls_in_stun: 1  ][ server: [ dtls: server/1.3 ice: controlled pqc: 1 dtls_in_stun: 1  ]] RESULT: p10: 650 p50: 950 avg: 6.91307e+06 p95: 6.91213e+07

Notice outlier!

BUG=webrtc:367395350

Change-Id: I44c0e1df33108d0078f1bf88804f48e1ce469b88
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432180
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46439}
fippo and others added 23 commits January 12, 2026 07:13
using
  find audio/ -name BUILD.gn | xargs tools_webrtc/gn_check_autofix.py -r
followed by
  tools_webrtc/gn_check_autofix.py -C out/Default/
and picking the non-controversial changes (all of them)

Bug: webrtc:467294026
Change-Id: I4131f6bb2689cac9b2e913b8a8b800dc20c83caa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/441023
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46633}
This change ties the capture session to the editor window when a slide
show is chosen for capture. This ensures that the present session
continues by capturing the editor window in the case when the user has
exited the slide show.

Bug: chromium:409473386
Change-Id: I8c141f80c193d53acb3a763b4c6d5976034d607b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/407423
Commit-Queue: Palak Agarwal <agpalak@google.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46634}
using
  find p2p/ -name BUILD.gn | xargs tools_webrtc/gn_check_autofix.py -r
followed by
  tools_webrtc/gn_check_autofix.py -C out/Default/
and picking the non-controversial changes (all but the benchmark dependency on test_main)

Bug: webrtc:467294026
Change-Id: I1964d018f379869773ca335068e012d4431cdc03
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/441120
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jeremy Leconte <jleconte@google.com>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/main@{#46635}
This is the seventh CL in the CL chain for adding the mixing capability
for stereo signals. This completes the mixer, but additional CLs
will be added for using the class in the AudioBuffer class.

Change-Id: I6205a53b4f4b8757ea06b9ac4540046355778885
Bug: webrtc:42221468
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432700
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Tomas Lundqvist <tomasl@google.com>
Cr-Commit-Position: refs/heads/main@{#46636}
Change log: https://chromium.googlesource.com/chromium/src/+log/0e3a041724..3597135a8f
Full diff: https://chromium.googlesource.com/chromium/src/+/0e3a041724..3597135a8f

Changed dependencies
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/d52803852e..4022251023
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/3052f51ada..638dac5e71
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/cf00990cb1..9b16403701
* src/third_party/androidx/cipd: WLWA4dir1xBHuGFp9O4u6Cdw7OfkjV7dMwvzfe1YwiwC..bo9o6xqxT5PzuuVeE3IQampSOl4-K9LhBy7s_ekEu94C
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/011f561226..13526b337f
* src/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/e50bb42b1a..fb0b652edb
* src/third_party/grpc/src: https://chromium.googlesource.com/external/github.com/grpc/grpc.git/+log/77e7a2cb7f..cd7f333210
* src/third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/259b6a7101..e9f0fd9932
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/a64d73a3b7..5497b8611e
DEPS diff: https://chromium.googlesource.com/chromium/src/+/0e3a041724..3597135a8f/DEPS

BUG=None

Change-Id: Iffb66e598bce193222f8e60c61eb801336386a09
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/441840
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Bot-Commit: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#46637}
This CL wires up the `CorruptionDetectFrameSelectorSettings` class
(using the "WebRTC-CorruptionDetectionFrameSelector" field trial) up to
the actual `FrameInstrumentationGenerator` implementation.

Bug: webrtc:358039777
Change-Id: I8f16b39270a7f2e3dca70bf52b509cf5eba86e9f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/441820
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Auto-Submit: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46638}
This reverts commit 99443ea.

Reason for revert: Deferral of ReconfigureEncoder removed to not break
                   downstream tests.

Original change's description:
> Revert "Reland "Request refresh frame on resolution scaling changes""
>
> This reverts commit 5f1aeff.
>
> Reason for revert: This CL may cause downstream tests to fail.
>
> Original change's description:
> > Reland "Request refresh frame on resolution scaling changes"
> >
> > This reverts commit df1ffee.
> >
> > Reason for revert: Cl updated so that WPT test passes.
> >
> > Original change's description:
> > > Revert "Request refresh frame on resolution scaling changes"
> > >
> > > This reverts commit 0ba5208.
> > >
> > > Reason for revert: Suspect this caused the following error in chrome:
> > >
> > > external/wpt/webrtc-encoded-transform/tentative/RTCEncodedFrame-timestamps.html
> > >
> > > https://ci.chromium.org/ui/p/chromium/builders/try/win-rel/1282304/overview
> > >
> > > Original change's description:
> > > > Request refresh frame on resolution scaling changes
> > > >
> > > > When `scale_resolution_down_to` changes in `ConfigureEncoder`, the input
> > > > resolution from the source is expected to change. To handle this
> > > > cleanly, `RequestRefreshFrame` is now called to prompt the source for a
> > > > frame matching the new constraints.
> > > >
> > > > Additionally, the immediate `ReconfigureEncoder` call is deferred if the
> > > > resolution scaling has changed. The reconfiguration will instead occur
> > > > upon the arrival of the next frame, ensuring the encoder is initialized
> > > > with the correct resolution.
> > > >
> > > > Fixed: webrtc:467409350
> > > > Change-Id: Icbd19531a45d130460f4763a945d764df3e5e0d2
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/432660
> > > > Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/main@{#46473}
> > >
> > > Bug: webrtc:467409350
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Change-Id: I710abf84d42641c291fb3fb36bb0d42551504eae
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/433740
> > > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> > > Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
> > > Cr-Commit-Position: refs/heads/main@{#46482}
> >
> > Bug: webrtc:467409350
> > Change-Id: I2b4eca73001db9b3516bdbe1fea9df281e41a147
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/441020
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
> > Cr-Commit-Position: refs/heads/main@{#46598}
>
> Bug: webrtc:467409350
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Change-Id: I36dc644d1be3b5f96ae43763ab72c9932de75573
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/441340
> Owners-Override: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Cr-Commit-Position: refs/heads/main@{#46610}

Bug: webrtc:467409350
Change-Id: I8aae24dc60a084b7f80a646e2b40963c820f9e5f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/440946
Auto-Submit: Johannes Kron <kron@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46639}
This is likely not what we want. See this spec issue:
rtcweb-wg/jsep#1040

Bug: None
Change-Id: Id1f7164fa4e95c55ec14dd5dce9d5e3c5ea4b028
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/440947
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46640}
Align  with spec draft 6.

Bug: webrtc:447037083
Change-Id: Ic40a64a3f46504de171b4bb5d352581a19868c77
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/440201
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46641}
Calculates a "hold" time a receiver delay sending feedback.
Add this hold time to RTT in order to use a more accurate time duration that the reference window represent.
For example TWCC when media is sent only in one direction, a receiver waits roughly 90ms from a packet is received until feedback is sent.

Also fix a bug where data in flight is not reported to Scream between feedback.

Bug: webrtc:447037083
Change-Id: Ibe4f1072a9528952c2af94fb148f8ad79c770219
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/435360
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#46642}
Change log: https://chromium.googlesource.com/chromium/src/+log/3597135a8f..86cd6c0b05
Full diff: https://chromium.googlesource.com/chromium/src/+/3597135a8f..86cd6c0b05

Changed dependencies
* src/build: https://chromium.googlesource.com/chromium/src/build/+log/d747365c05..75489df9cb
* src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/4022251023..b4ba4e6585
* src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/638dac5e71..abe0cb4162
* src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/9b16403701..ae7dba2f6b
* src/third_party/androidx/cipd: bo9o6xqxT5PzuuVeE3IQampSOl4-K9LhBy7s_ekEu94C..WX3ELG4TgH2nEIDT11VHoWCYzpSsS-BVAZwPnNs34AUC
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/13526b337f..41b290f319
* src/third_party/freetype/src: https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/b91f75bd02..341049a95b
* src/third_party/grpc/src: https://chromium.googlesource.com/external/github.com/grpc/grpc.git/+log/cd7f333210..ae8671efbd
* src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/5497b8611e..88162e4e0e
DEPS diff: https://chromium.googlesource.com/chromium/src/+/3597135a8f..86cd6c0b05/DEPS

BUG=None

Change-Id: Ice3077a4bfeda3600743f4753caf3f13a68a654e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/441880
Bot-Commit: 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/main@{#46643}
- add RTCPictureInPictureVideoRenderer implementing RTCVideoRenderer via AVSampleBufferDisplayLayer
- add RTCVideoFrameConverter for RTCVideoFrame -> NV12 CVPixelBuffer/CMSampleBuffer conversion with scaling and pooled buffers
- extend RTCVideoFrameBuffer with optional pixelBuffer access for fast-path rendering
- add cached pixelBuffer export in RTCNativeI420Buffer and RTCNativeNV12Buffer
- add NV12 cropAndScale implementation for consistent resize behavior
- wire new PiP files/headers and AVFoundation/CoreMedia deps in sdk/BUILD.gn
…rver teardown thread-safe (#74)

* objc: harden RTCAudioDeviceModule teardown against observer/native teardown races

When `RTCAudioDeviceModule` is deallocated, its C++ observer/native state can be
torn down while audio callbacks or thread shutdown are still in progress, which can
lead to `EXC_BAD_ACCESS` during `object_cxxDestruct` in Swift ARC teardown paths.

This change makes deallocation safer by:
- Capturing `_native`, `_workerThread`, and `_observer` locally before teardown.
- Guarding worker-thread teardown work behind `native && workerThread && !IsQuitting()`.
- Detaching observer on the worker thread before deleting it.
- Avoiding unsafe assumptions about worker-thread availability during object destruction.

Build verification:
- Ran: `bundle exec fastlane ios build verbose:true zip_product_skip:true root:/Users/ipavlidakis/workspace/webrtc/src skip_licenses:true maccatalyst_support:false`
- Result: success

* [Fix]AudioDeviceModule dealloc lifecycle

* Detach from PeerConnectionFactory worker thread on invalidation
@ipavlidakis ipavlidakis self-assigned this Apr 28, 2026
@ipavlidakis ipavlidakis added the enhancement New feature or request label Apr 28, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 28, 2026

Important

Review skipped

Too many files!

This PR contains 300 files, which is 150 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2d028360-3a52-4955-a941-5f2c461d418c

📥 Commits

Reviewing files that changed from the base of the PR and between ab67867 and ade0016.

📒 Files selected for processing (300)
  • .clang-tidy
  • .git-blame-ignore-revs
  • .gitignore
  • .gn
  • .vpython3
  • AUTHORS
  • BUILD.gn
  • DEPS
  • GEMINI.md
  • OWNERS_INFRA
  • PRESUBMIT.py
  • README.chromium
  • agents/prompts/common.md
  • agents/prompts/common.minimal.md
  • agents/prompts/knowledge_base.md
  • api/BUILD.gn
  • api/DEPS
  • api/OWNERS
  • api/adaptation/BUILD.gn
  • api/array_view.h
  • api/array_view_unittest.cc
  • api/async_dns_resolver.h
  • api/audio/BUILD.gn
  • api/audio/DEPS
  • api/audio/OWNERS
  • api/audio/audio_device.h
  • api/audio/audio_frame.cc
  • api/audio/audio_frame.h
  • api/audio/audio_processing.cc
  • api/audio/audio_processing.h
  • api/audio/audio_processing_statistics.cc
  • api/audio/audio_processing_statistics.h
  • api/audio/audio_view.h
  • api/audio/builtin_audio_processing_builder.cc
  • api/audio/builtin_audio_processing_builder.h
  • api/audio/channel_layout.cc
  • api/audio/create_audio_device_module.cc
  • api/audio/create_audio_device_module.h
  • api/audio/echo_canceller3_config.cc
  • api/audio/echo_canceller3_config.h
  • api/audio/echo_canceller3_factory.cc
  • api/audio/echo_canceller3_factory.h
  • api/audio/echo_control.h
  • api/audio/echo_detector_creator.h
  • api/audio/neural_residual_echo_estimator.h
  • api/audio/neural_residual_echo_estimator_creator.cc
  • api/audio/neural_residual_echo_estimator_creator.h
  • api/audio/test/audio_frame_unittest.cc
  • api/audio/test/audio_view_unittest.cc
  • api/audio_codecs/BUILD.gn
  • api/audio_codecs/L16/audio_encoder_L16.cc
  • api/audio_codecs/audio_decoder.cc
  • api/audio_codecs/audio_decoder.h
  • api/audio_codecs/audio_decoder_factory.h
  • api/audio_codecs/audio_decoder_factory_template.h
  • api/audio_codecs/audio_encoder.cc
  • api/audio_codecs/audio_encoder.h
  • api/audio_codecs/audio_encoder_factory_template.h
  • api/audio_codecs/audio_format.h
  • api/audio_codecs/builtin_audio_decoder_factory.cc
  • api/audio_codecs/builtin_audio_encoder_factory.cc
  • api/audio_codecs/g711/audio_decoder_g711.cc
  • api/audio_codecs/g711/audio_decoder_g711.h
  • api/audio_codecs/g711/audio_encoder_g711.cc
  • api/audio_codecs/g711/audio_encoder_g711.h
  • api/audio_codecs/g722/audio_decoder_g722.cc
  • api/audio_codecs/g722/audio_encoder_g722.cc
  • api/audio_codecs/opus/BUILD.gn
  • api/audio_codecs/opus/audio_decoder_multi_channel_opus.cc
  • api/audio_codecs/opus/audio_decoder_multi_channel_opus_config.h
  • api/audio_codecs/opus/audio_decoder_opus.cc
  • api/audio_codecs/opus/audio_decoder_opus.h
  • api/audio_codecs/opus/audio_decoder_opus_config.h
  • api/audio_codecs/opus/audio_decoder_opus_unittest.cc
  • api/audio_codecs/opus/audio_encoder_multi_channel_opus.cc
  • api/audio_codecs/opus/audio_encoder_multi_channel_opus.h
  • api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.cc
  • api/audio_codecs/opus/audio_encoder_multi_channel_opus_config.h
  • api/audio_codecs/opus/audio_encoder_opus.cc
  • api/audio_codecs/opus/audio_encoder_opus.h
  • api/audio_codecs/opus/audio_encoder_opus_config.cc
  • api/audio_codecs/opus/audio_encoder_opus_config.h
  • api/audio_codecs/opus_audio_decoder_factory.cc
  • api/audio_codecs/opus_audio_encoder_factory.cc
  • api/audio_codecs/test/audio_decoder_factory_template_unittest.cc
  • api/audio_codecs/test/audio_encoder_factory_template_unittest.cc
  • api/audio_options.h
  • api/call/bitrate_allocation.h
  • api/call/transport.h
  • api/candidate.cc
  • api/candidate.h
  • api/candidate_unittest.cc
  • api/create_modular_peer_connection_factory.cc
  • api/create_modular_peer_connection_factory.h
  • api/create_peerconnection_factory.cc
  • api/crypto/BUILD.gn
  • api/crypto/crypto_options.cc
  • api/crypto/crypto_options.h
  • api/crypto/crypto_options_unittest.cc
  • api/crypto/frame_crypto_transformer_unittest.cc
  • api/crypto/frame_decryptor_interface.h
  • api/crypto/frame_encryptor_interface.h
  • api/data_channel_interface.h
  • api/datagram_connection.h
  • api/datagram_connection_factory.cc
  • api/datagram_connection_factory.h
  • api/dtls_transport_interface.cc
  • api/dtls_transport_interface.h
  • api/dtmf_sender_interface.h
  • api/enable_media.cc
  • api/enable_media_with_defaults.cc
  • api/environment/BUILD.gn
  • api/environment/deprecated_global_field_trials.cc
  • api/environment/deprecated_global_field_trials.h
  • api/environment/environment_factory.cc
  • api/environment/environment_unittest.cc
  • api/field_trials.cc
  • api/field_trials.h
  • api/field_trials_unittest.cc
  • api/field_trials_view.h
  • api/frame_transformer_interface.h
  • api/function_view.h
  • api/g3doc/threading_design.md
  • api/ice_server_parsing.cc
  • api/ice_server_parsing.h
  • api/ice_transport_factory.cc
  • api/ice_transport_factory.h
  • api/ice_transport_interface.h
  • api/jsep.cc
  • api/jsep.h
  • api/jsep_ice_candidate.cc
  • api/jsep_ice_candidate.h
  • api/jsep_session_description.h
  • api/legacy_stats_types.cc
  • api/legacy_stats_types.h
  • api/local_network_access_permission.h
  • api/make_ref_counted.h
  • api/media_stream_interface.h
  • api/media_types.h
  • api/neteq/BUILD.gn
  • api/neteq/custom_neteq_controller_factory.cc
  • api/neteq/custom_neteq_controller_factory.h
  • api/neteq/default_neteq_controller_factory.cc
  • api/neteq/delay_manager_factory.h
  • api/neteq/delay_manager_interface.h
  • api/neteq/neteq.h
  • api/notifier.h
  • api/numerics/BUILD.gn
  • api/numerics/samples_stats_counter.cc
  • api/numerics/samples_stats_counter.h
  • api/numerics/samples_stats_counter_unittest.cc
  • api/packet_socket_factory.h
  • api/peer_connection_interface.cc
  • api/peer_connection_interface.h
  • api/peer_connection_interface_unittest.cc
  • api/priority.cc
  • api/priority.h
  • api/ref_count.h
  • api/ref_counted_base.h
  • api/rtc_error.cc
  • api/rtc_error.h
  • api/rtc_error_unittest.cc
  • api/rtc_event_log/BUILD.gn
  • api/rtc_event_log/rtc_event.h
  • api/rtc_event_log_output_file_unittest.cc
  • api/rtp_packet_info.cc
  • api/rtp_packet_info.h
  • api/rtp_packet_infos_unittest.cc
  • api/rtp_parameters.cc
  • api/rtp_parameters.h
  • api/rtp_parameters_unittest.cc
  • api/rtp_receiver_interface.h
  • api/rtp_sender_interface.h
  • api/rtp_transceiver_direction.h
  • api/rtp_transceiver_interface.cc
  • api/rtp_transceiver_interface.h
  • api/rtp_transport_factory.h
  • api/scoped_refptr.h
  • api/sctp_transport_interface.h
  • api/sequence_checker.h
  • api/sequence_checker_unittest.cc
  • api/set_local_description_observer_interface.h
  • api/set_remote_description_observer_interface.h
  • api/stats/rtcstats_objects.h
  • api/task_queue/BUILD.gn
  • api/task_queue/pending_task_safety_flag.h
  • api/task_queue/task_queue_test.cc
  • api/task_queue/task_queue_test.h
  • api/task_queue/test/BUILD.gn
  • api/test/DEPS
  • api/test/compile_all_headers.cc
  • api/test/create_time_controller.cc
  • api/test/create_time_controller.h
  • api/test/create_video_quality_test_fixture.cc
  • api/test/create_video_quality_test_fixture.h
  • api/test/fake_frame_decryptor.cc
  • api/test/fake_frame_decryptor.h
  • api/test/fake_frame_encryptor.cc
  • api/test/fake_frame_encryptor.h
  • api/test/metrics/BUILD.gn
  • api/test/metrics/chrome_perf_dashboard_metrics_exporter.cc
  • api/test/metrics/chrome_perf_dashboard_metrics_exporter_test.cc
  • api/test/metrics/metrics_set_proto_file_exporter.cc
  • api/test/metrics/metrics_set_proto_file_exporter_test.cc
  • api/test/metrics/stdout_metrics_exporter.cc
  • api/test/metrics/stdout_metrics_exporter_test.cc
  • api/test/mock_async_dns_resolver.h
  • api/test/mock_audio_sink.h
  • api/test/mock_data_channel.h
  • api/test/mock_datagram_connection.h
  • api/test/mock_datagram_connection_observer.h
  • api/test/mock_dtmf_sender.h
  • api/test/mock_frame_decryptor.h
  • api/test/mock_frame_encryptor.h
  • api/test/mock_frame_transformer.h
  • api/test/mock_local_network_access_permission.cc
  • api/test/mock_local_network_access_permission.h
  • api/test/mock_media_stream_interface.h
  • api/test/mock_packet_socket_factory.h
  • api/test/mock_peer_connection_factory_interface.h
  • api/test/mock_peerconnectioninterface.h
  • api/test/mock_rtp_transceiver.h
  • api/test/mock_rtpreceiver.h
  • api/test/mock_rtpsender.h
  • api/test/mock_session_description_interface.h
  • api/test/mock_transformable_audio_frame.h
  • api/test/mock_transformable_frame.h
  • api/test/mock_transformable_video_frame.h
  • api/test/mock_video_bitrate_allocator.h
  • api/test/mock_video_decoder.h
  • api/test/mock_video_encoder.h
  • api/test/mock_video_encoder_factory.h
  • api/test/mock_video_track.h
  • api/test/network_emulation/BUILD.gn
  • api/test/network_emulation/DEPS
  • api/test/network_emulation/dual_pi2_network_queue.cc
  • api/test/network_emulation/dual_pi2_network_queue.h
  • api/test/network_emulation/dual_pi2_network_queue_unittest.cc
  • api/test/network_emulation/leaky_bucket_network_queue.cc
  • api/test/network_emulation/leaky_bucket_network_queue.h
  • api/test/network_emulation/leaky_bucket_network_queue_unittest.cc
  • api/test/network_emulation/network_queue.h
  • api/test/network_emulation/schedulable_network_node_builder.cc
  • api/test/network_emulation/schedulable_network_node_builder.h
  • api/test/network_emulation/token_bucket_network_behavior_builder.cc
  • api/test/network_emulation/token_bucket_network_behavior_builder.h
  • api/test/network_emulation/token_bucket_network_behavior_config.h
  • api/test/network_emulation_manager.cc
  • api/test/network_emulation_manager.h
  • api/test/pclf/BUILD.gn
  • api/test/pclf/media_quality_test_params.h
  • api/test/pclf/peer_configurer.cc
  • api/test/pclf/peer_configurer.h
  • api/test/peerconnection_quality_test_fixture.h
  • api/test/simulated_network.h
  • api/test/test_dependency_factory.cc
  • api/test/test_dependency_factory.h
  • api/test/time_controller.cc
  • api/test/time_controller.h
  • api/test/video_quality_test_fixture.h
  • api/test/videocodec_test_fixture.h
  • api/transport/BUILD.gn
  • api/transport/DEPS
  • api/transport/data_channel_transport_interface.h
  • api/transport/goog_cc_factory.cc
  • api/transport/goog_cc_factory.h
  • api/transport/network_control.h
  • api/transport/network_types.cc
  • api/transport/network_types.h
  • api/transport/rtp/BUILD.gn
  • api/transport/rtp/DEPS
  • api/transport/rtp/corruption_detection_message.cc
  • api/transport/rtp/corruption_detection_message.h
  • api/transport/rtp/corruption_detection_message_unittest.cc
  • api/transport/rtp/dependency_descriptor.cc
  • api/transport/rtp/rtp_source.h
  • api/transport/sctp_transport_factory_interface.h
  • api/transport/stun.cc
  • api/transport/stun.h
  • api/transport/stun_unittest.cc
  • api/transport/test/create_feedback_generator.cc
  • api/transport/test/create_feedback_generator.h
  • api/transport/test/feedback_generator_interface.h
  • api/uma_metrics.h
  • api/units/data_rate_unittest.cc
  • api/units/frequency_unittest.cc
  • api/units/time_delta_unittest.cc
  • api/units/timestamp.h
  • api/units/timestamp_unittest.cc
  • api/video/BUILD.gn
  • api/video/corruption_detection/BUILD.gn
  • api/video/corruption_detection/corruption_detection_filter_settings.h
  • api/video/corruption_detection/corruption_detection_settings_generator.cc
  • api/video/corruption_detection/corruption_detection_settings_generator.h
  • api/video/corruption_detection/corruption_detection_settings_generator_unittest.cc
  • api/video/corruption_detection/frame_instrumentation_data.cc
  • api/video/corruption_detection/frame_instrumentation_data.h
  • api/video/corruption_detection/frame_instrumentation_data_reader.cc
  • api/video/corruption_detection/frame_instrumentation_data_reader.h
  • api/video/corruption_detection/frame_instrumentation_data_reader_unittest.cc

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch iliaspavlidakis/merge-webrtc-m145

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.