Commit Graph

2946 Commits

Author SHA1 Message Date
Miriam Zimmerman
5b1bfe0c6f
Always allow packet-type-based packet demuxing
Some checks failed
WebRTC CI / Code Formatting (map[check:ringrtc exclude:(oboe|opus)]) (push) Has been cancelled
WebRTC CI / Code Formatting (map[check:sdk exclude:(objc|jni_helpers\.h)]) (push) Has been cancelled
2026-05-12 11:26:04 -04:00
Miriam Zimmerman
31a3397e96 Merge remote-tracking branch 'upstream/branch-heads/7778' into mutexlox/webrtc-148
Merge conflicts resolved in:
* api/neteq/neteq.h
* audio/channel_receive.cc
* audio/channel_receive.h
* media/engine/simulcast_encoder_adapter.cc
* modules/audio_coding/BUILD.gn
* modules/audio_coding/acm2/acm_resampler.cc
* modules/audio_coding/acm2/acm_resampler_unittest.cc
* modules/audio_processing/audio_processing_impl.h
* modules/video_coding/BUILD.gn
* p2p/base/p2p_transport_channel_unittest.cc
* pc/jsep_transport_controller.cc
* pc/rtp_transport.h
* pc/rtp_transport_internal.h
* unsafe_buffers_paths.txt
2026-05-08 13:42:18 -04:00
Harald Alvestrand
e21740fea3 [M146] Fix TOCTOU race in RtpVideoSender::OnVideoLayersAllocationUpdated
RtpVideoSender::OnVideoLayersAllocationUpdated runs on the encoder thread,
checks if it's active, and then posts a task to the transport queue to
update module status.

If SetSending(false) is called on the transport queue before the posted
task runs, the task would previously re-register modules in PacketRouter
even though active_ was false. This lead to dangling pointers in
PacketRouter when the RtpVideoSender was destroyed.

This CL adds an IsActive() check inside the posted task to ensure we don't
re-register modules if the sender has been deactivated.

(cherry picked from commit 77d265670fa7d7f358c86c54704a6e97c27a6005)

Bug: chromium:500767595
Test: RtpVideoSenderTest.PostTaskRaceDoesNotLeadToDanglingPointer
Change-Id: I18827c34bece7f5ebc41d159d9e19e356afbc404
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/462880
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Original-Commit-Position: refs/heads/main@{#47384}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/465960
Cr-Commit-Position: refs/branch-heads/7680@{#8}
Cr-Branched-From: d1972add2a63b2a528a6471d447f82e0010b5215-refs/heads/main@{#46853}
2026-04-30 16:18:21 -04:00
Harald Alvestrand
9600e77d85 [M148] Fix TOCTOU race in RtpVideoSender::OnVideoLayersAllocationUpdated
RtpVideoSender::OnVideoLayersAllocationUpdated runs on the encoder thread,
checks if it's active, and then posts a task to the transport queue to
update module status.

If SetSending(false) is called on the transport queue before the posted
task runs, the task would previously re-register modules in PacketRouter
even though active_ was false. This lead to dangling pointers in
PacketRouter when the RtpVideoSender was destroyed.

This CL adds an IsActive() check inside the posted task to ensure we don't
re-register modules if the sender has been deactivated.

(cherry picked from commit 77d265670fa7d7f358c86c54704a6e97c27a6005)

Bug: chromium:500767595
Test: RtpVideoSenderTest.PostTaskRaceDoesNotLeadToDanglingPointer
Change-Id: I18827c34bece7f5ebc41d159d9e19e356afbc404
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/462880
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Original-Commit-Position: refs/heads/main@{#47384}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/465961
Cr-Commit-Position: refs/branch-heads/7778@{#5}
Cr-Branched-From: ca896b7ffef011bbf6957c99d413c5aac602c99f-refs/heads/main@{#47319}
2026-04-22 03:08:09 -07:00
Jim Gustafson
45f30269e4 Add opus decoder configuration plumbing 2026-04-20 11:06:14 -07:00
Tommi
2c3c984b00 [M148] Allow signaled SSRCs to override learned bindings in RtpDemuxer
Update RtpDemuxer to permit signaled SSRCs to override existing learned
SSRC bindings. This prevents registration failures during session
renegotiation when an SSRC, previously identified through payload type
demuxing, is subsequently explicitly signaled.

The demuxer now maintains a set of signaled SSRCs to differentiate
explicit configurations from learned state. Conflict detection is
modified to allow these overrides while maintaining strict checks
between multiple signaled SSRCs. This ensures that explicit signaling
always takes precedence over internally learned bindings, resolving
routing issues during media stream updates.

(cherry picked from commit 186d42a3010981882a8679a145ce36aa84581c78)

Fixed: chromium:503666505
Bug: webrtc:502130956
Change-Id: I551c2b7ee5af18fc9792ee52be08c5349c20b641
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/464220
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Original-Commit-Position: refs/heads/main@{#47446}
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/464764
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/branch-heads/7778@{#2}
Cr-Branched-From: ca896b7ffef011bbf6957c99d413c5aac602c99f-refs/heads/main@{#47319}
2026-04-18 01:02:05 -07:00
Adel Lahlou
d46d62e9eb Merge remote branch 'upstream/branch-heads/7680' 2026-04-06 00:16:11 -07:00
Tommi
a2bd172110 Move payload type demuxing management to RtpTransport
Shift the responsibility for enabling and disabling payload type
demuxing from the Channel and Transceiver layers to the RtpTransport and
RtpDemuxer layer. This centralizes demuxing logic within the transport
layer.

Moving this logic to RtpTransport allows the SdpOfferAnswerHandler to
apply state changes directly to the transport and not need to go through
the Channel classes.

Key modifications:
- Remove SetPayloadTypeDemuxingEnabled from BaseChannel,
  ChannelInterface, and RtpTransceiver.
- Implement SetActivePayloadTypeDemuxing in RtpTransport to manage
  demuxer criteria filtering and coordinate with RtpDemuxer.
- Update SdpOfferAnswerHandler to apply demuxing state changes to
  RtpTransport instances directly.
- Ensure ResetUnsignaledRecvStream executes on the worker thread
  after applying transport state, to clear legacy streams when
  demuxing is disabled.

Bug: webrtc:42222117
Change-Id: If02194417dc8e4c3dcf5fda5e969aa81116004e1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/456720
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47318}
2026-04-02 03:07:12 -07:00
webrtc-version-updater
c6b486dd18 Update WebRTC code version (2026-04-02T04:08:10).
Bug: None
Change-Id: I9e5b318d6e65d0ff27d044b7ff1de24925cfb965
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/461460
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@{#47314}
2026-04-01 22:33:50 -07:00
Evan Shrubsole
2dab14a4fc Use RunLoop in call/ tests
Bug: webrtc:469327588
Change-Id: Ia88b913a96175f8926208f7fd6bb4d1d6a6a6964
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/461345
Auto-Submit: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47312}
2026-04-01 06:32:26 -07:00
webrtc-version-updater
3f11f14566 Update WebRTC code version (2026-03-31T04:10:44).
Bug: None
Change-Id: I780017500e3d0cb9f6088fce64fd9770bf61f1d2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/461200
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@{#47299}
2026-03-30 22:32:10 -07:00
Danil Chapovalov
c9752917bd Replace ArrayView with std::span everywhere except api
ArrayView is an alias to std::span. This change switch to use
std::span directly instead of through the alias.

Search&Replace MakeArrayView and ArrayView with std::span
Search&Replace include "api/array_view.h" with include <span>
Remove <span> include where std::span is not mentioned in the file
Remove build dependencies on array_view target

Bug: webrtc:439801349
Change-Id: I64bbdcf1300126286158ccbeda62c49e0c3ec83f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/460501
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47294}
2026-03-30 02:05:06 -07:00
webrtc-version-updater
65dd518777 Update WebRTC code version (2026-03-30T04:12:15).
Bug: None
Change-Id: If3a89563f6f4cf61bc48a7eaef24d1574eb8425d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/461020
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@{#47292}
2026-03-29 22:51:14 -07:00
webrtc-version-updater
a73939ff93 Update WebRTC code version (2026-03-29T04:05:05).
Bug: None
Change-Id: Ie8d6685c269746f919cdb060ad25cc723744cc92
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/460980
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@{#47291}
2026-03-28 22:29:35 -07:00
webrtc-version-updater
876820e130 Update WebRTC code version (2026-03-28T04:04:44).
Bug: None
Change-Id: Ic4ded4662ef9feefad2b221cbd10907a29b7791a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/460940
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@{#47289}
2026-03-27 22:38:55 -07:00
Harald Alvestrand
830e031e2c Use the PayloadType class rather than uint8_t in Codec class
Also replace "int" with "PayloadType" in a number of interfaces, and
make appropriate adjustments.

This is one step towards controlling the issuing and consumption
of PayloadType values.

Bug: webrtc:360058654
Change-Id: I146bc4e3e9966b98864277eee6f52b75ba10d89a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/460021
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47286}
2026-03-27 07:22:47 -07:00
Harald Alvestrand
53987851c6 Convert kMax constants in video_codec_constants to size_t
There was a pattern of having to cast these to size_t when comparing
them to sizes of things. Since these are mostly used for sizing
arrays and lists, it seems logical to make them size_t.

Bug: None
Change-Id: I77e0642dfc0937e6367034af10b27f1ba95b495b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/459400
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47281}
2026-03-27 05:02:29 -07:00
webrtc-version-updater
b188c9f2d9 Update WebRTC code version (2026-03-27T04:10:01).
Bug: None
Change-Id: I0c4ef4bb7336674109e9c6475ccf3e8b3aea5b87
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/460642
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@{#47272}
2026-03-26 22:48:29 -07:00
webrtc-version-updater
a08f6ce124 Update WebRTC code version (2026-03-25T04:04:33).
Bug: None
Change-Id: I5fad6ddf6e4ca4ffd2f5a2445595ce3d3f3902d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/459880
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@{#47248}
2026-03-24 22:25:53 -07:00
webrtc-version-updater
0046d720f7 Update WebRTC code version (2026-03-24T04:06:53).
Bug: None
Change-Id: I39c0ed78d6bc5731ed0cbbdbccea829b7a8e1b94
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/459560
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@{#47235}
2026-03-23 22:28:55 -07:00
Per Kjellander
bc9cf92f3d Revert "Allow unspecified max allocatable bitrate in VideoSendStreamImpl"
This reverts commit e844bd819c.

Reason for revert: Maybe breaks downstream projects

Original change's description:
> Allow unspecified max allocatable bitrate in VideoSendStreamImpl
>
> If we have no video the can be enabled, based on the VideoEncoderConfig
> (e.g. the max bitrate is <= 0 or all simulcast streams are
> `active=false`) - let the max bitrate be reported as 0 for the sake of
> bandwidth allocation (MediaStreamAllocationConfig).
>
> Previous to this CL, the above conditions would result in an arbitrary
> value of 10Mbps to use as the max allocation limit. When creating a peer
> connection with audio and video configured but the video disabled/muted,
> that would result in the bandwidth estimator trying to send packet
> trains to probe up to 10Mbps, potentially impacting the network and
> disturbing audio even though we have no need for such as high BWE.
>
> Bug: webrtc:494350649
> Change-Id: Id6353fd93c6170610a790c084d75f3b3c5c3ee97
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/449100
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#47220}

Bug: webrtc:494350649
Change-Id: Id3accec77f8bde51c43c3eeb31db68d4f03f7754
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/458722
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47228}
2026-03-23 03:08:01 -07:00
webrtc-version-updater
b00f47926a Update WebRTC code version (2026-03-22T04:07:46).
Bug: None
Change-Id: Id9b95f270d54d14ac15bc8ca755339c9b5433008
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/459021
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@{#47223}
2026-03-21 21:57:36 -07:00
Erik Språng
e844bd819c Allow unspecified max allocatable bitrate in VideoSendStreamImpl
If we have no video the can be enabled, based on the VideoEncoderConfig
(e.g. the max bitrate is <= 0 or all simulcast streams are
`active=false`) - let the max bitrate be reported as 0 for the sake of
bandwidth allocation (MediaStreamAllocationConfig).

Previous to this CL, the above conditions would result in an arbitrary
value of 10Mbps to use as the max allocation limit. When creating a peer
connection with audio and video configured but the video disabled/muted,
that would result in the bandwidth estimator trying to send packet
trains to probe up to 10Mbps, potentially impacting the network and
disturbing audio even though we have no need for such as high BWE.

Bug: webrtc:494350649
Change-Id: Id6353fd93c6170610a790c084d75f3b3c5c3ee97
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/449100
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47220}
2026-03-20 11:51:26 -07:00
webrtc-version-updater
16e3002995 Update WebRTC code version (2026-03-20T04:01:59).
Bug: None
Change-Id: Ica3acdf2d7cba4f75a6d5d3691374a6b6e3c81db
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/458460
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@{#47211}
2026-03-19 21:49:57 -07:00
webrtc-version-updater
af098aadc5 Update WebRTC code version (2026-03-19T04:08:14).
Bug: None
Change-Id: I36125b41aca06aa11880463e6cbbb4f3dcd5abb0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/458200
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@{#47198}
2026-03-18 22:39:09 -07:00
webrtc-version-updater
29ae1267d1 Update WebRTC code version (2026-03-18T04:02:27).
Bug: None
Change-Id: I23e06da791205a291a6d07294d434e5cc990b34e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/457840
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@{#47188}
2026-03-17 22:30:43 -07:00
webrtc-version-updater
6a75a33b29 Update WebRTC code version (2026-03-17T04:10:08).
Bug: None
Change-Id: I6c7587f74bbf8924d82fc08c21baa1b682df1b05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/457440
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@{#47178}
2026-03-16 23:07:06 -07:00
webrtc-version-updater
d11adf6359 Update WebRTC code version (2026-03-16T04:04:41).
Bug: None
Change-Id: I00b2e9604e09ce9035dbc912f3249b280896e147
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/457100
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@{#47162}
2026-03-15 22:12:29 -07:00
webrtc-version-updater
b7e65ec7f0 Update WebRTC code version (2026-03-15T04:07:45).
Bug: None
Change-Id: Ia0311829b7882117268623e1c4e110d8f6c57f08
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/456880
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@{#47159}
2026-03-14 21:58:19 -07:00
webrtc-version-updater
bee8d81262 Update WebRTC code version (2026-03-14T04:12:07).
Bug: None
Change-Id: I88c2189e4d05f80b7ae0cb1ee3ebe780194590ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/456640
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@{#47157}
2026-03-13 22:28:38 -07:00
webrtc-version-updater
815295ac22 Update WebRTC code version (2026-03-12T04:11:50).
Bug: None
Change-Id: Ib5a517a68d06a7b7f9c468b5e058ef4c8cda3092
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/456021
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@{#47123}
2026-03-11 22:22:29 -07:00
Tommi
4a39f9487a Move Call::receive_time_calculator_ to network thread
This CL moves the usage of receive_time_calculator_ in Call from the
worker thread to the network thread. It extracts the worker thread logic
of DeliverRtpPacket into DeliverRtpPacket_w to allow clearer thread
annotations.

Also includes new g3doc for a simple overview of the RTP receive flow.

Bug: webrtc:11993
Change-Id: I143a548888474b4ebd14a9041d5cb649738e0775
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/454304
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47119}
2026-03-11 14:28:06 -07:00
webrtc-version-updater
84ff19ec2e Update WebRTC code version (2026-03-11T04:03:48).
Bug: None
Change-Id: I94b81acb1a93329d3c680cb88be9e524b2261cd7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/455680
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@{#47110}
2026-03-10 22:04:39 -07:00
webrtc-version-updater
7efbf637b0 Update WebRTC code version (2026-03-10T04:05:46).
Bug: None
Change-Id: Ib47eaea55d9c2826008d8e9a3464e40b3cfe3b30
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/455303
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@{#47094}
2026-03-09 23:22:39 -07:00
Tommi
06a10bde23 Replace EncoderSwitchRequestCallback with absl::AnyInvocable
This refactoring replaces the EncoderSwitchRequestCallback interface
with absl::AnyInvocable in VideoStreamEncoderSettings.

To ensure the callback survives stream recreation, the callback binding
has been moved to RecreateWebRtcStream, relying on a new `send_channel_`
back-pointer within WebRtcVideoSendStream.

Bug: b/478050997
Change-Id: I1f587d563553c4f2f3d8fd02c4d9ed4473829dc4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/454480
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47087}
2026-03-09 07:02:19 -07:00
webrtc-version-updater
fda4e0da0c Update WebRTC code version (2026-03-07T04:04:41).
Bug: None
Change-Id: I4c208b2f95b098e32a20cea2460c38824369d497
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/454520
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@{#47080}
2026-03-06 22:45:58 -08:00
Harald Alvestrand
924dd2ecf8 Reduce the number of webrtc:: prefixes in code
This is achieved by moving most anonymous namespaces inside the
webrtc namespace and modifying as appropriate.

Bug: None
Change-Id: Iff299c45f92ae5aaa736722ed6630df9ad5525bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/454240
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47077}
2026-03-06 06:29:19 -08:00
webrtc-version-updater
6d1746c826 Update WebRTC code version (2026-03-06T04:06:41).
Bug: None
Change-Id: I54dc6681b067878bcf9432c2de06596b7cb4b6d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/454141
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@{#47070}
2026-03-05 23:03:12 -08:00
webrtc-version-updater
1a631fec6c Update WebRTC code version (2026-03-05T04:06:26).
Bug: None
Change-Id: I7f1d9534e9f8fd136c0caf4d000fb1c4992fd59d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/453761
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@{#47055}
2026-03-04 22:50:51 -08:00
webrtc-version-updater
f95a37a99b Update WebRTC code version (2026-03-04T04:04:09).
Bug: None
Change-Id: Iccf18ddfc0d485d2466e7def60736659998c3ad0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/453500
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@{#47040}
2026-03-03 23:07:14 -08:00
Tommi
427b9202ad Allow calls to DeliverRtpPacket from the network thread
Update the pre-decoding part of the RTP packet receive pipeline to allow
DeliverRtpPacket to be called from either the network or worker thread
(network thread preferred moving forward).

This is a step towards moving the full packet processing pipeline to the
network thread. In practical terms, this removes one PostTask for audio
packets when the network and worker threads are configured to be the
same. Architecturally, this moves the PostTask from network to worker,
out of the voice/video receive channel classes and into call (by 1
step).

Key modifications:
* Update Call::DeliverRtpPacket to automatically dispatch tasks to the
  worker thread if it is invoked from a different context.
* Shift RtpPacketReceived processing in WebRtcVideoReceiveChannel and
  WebRtcVoiceReceiveChannel to the network thread.
* Relocate recv_rtp_extension_map_ to be guarded by the network thread
  checker, ensuring header extension identification occurs immediately
  upon packet receipt.
* Synchronize extension map updates from the worker thread to the
  network thread using a safe task-posting mechanism.
* Modify OnPacketReceived signatures to accept packets by value,
  enabling efficient moves across thread boundaries.

Bug: webrtc:11993, chromium:40242052
Change-Id: I2bf80a67632cee6bd553009ea9523499527bc93e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/452900
Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#47026}
2026-03-02 08:52:56 -08:00
webrtc-version-updater
556f930bf9 Update WebRTC code version (2026-03-01T04:04:55).
Bug: None
Change-Id: I921dc754f0780579b28b0255f28d0c0f20d4fa09
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/452880
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@{#47022}
2026-03-02 02:26:52 -08:00
webrtc-version-updater
ae6b59c4b3 Update WebRTC code version (2026-02-28T04:02:22).
Bug: None
Change-Id: I774acfbc439854e18c76466be42ae69a894647d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/452780
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@{#47016}
2026-02-27 22:49:15 -08:00
webrtc-version-updater
f5d7e1fa1c Update WebRTC code version (2026-02-27T04:08:14).
Bug: None
Change-Id: If140faaa0192687fc532dfb9a27d55696d934835
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/452521
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@{#47002}
2026-02-26 22:48:43 -08:00
webrtc-version-updater
5984bc1428 Update WebRTC code version (2026-02-26T04:05:18).
Bug: None
Change-Id: If6825c7a1f178a2093da00ee9761a1ff3b27bb05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/452303
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@{#46997}
2026-02-25 23:04:22 -08:00
webrtc-version-updater
7a52ff95be Update WebRTC code version (2026-02-25T04:08:12).
Bug: None
Change-Id: Ie365dcbecfba0e3bbe1612136535bc935d393bf5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/452101
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@{#46990}
2026-02-24 22:52:26 -08:00
webrtc-version-updater
08a2baf20d Update WebRTC code version (2026-02-24T04:07:11).
Bug: None
Change-Id: Idee74ef8b3e3556fe0e5b90150bf23b69e384d75
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/451761
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@{#46977}
2026-02-23 22:55:02 -08:00
webrtc-version-updater
7d6c068013 Update WebRTC code version (2026-02-23T04:05:06).
Bug: None
Change-Id: I5e8ae36d3c85d6a2b0d05a50385de3589a48e3da
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/451560
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@{#46973}
2026-02-22 22:52:14 -08:00
webrtc-version-updater
a7a1467ad4 Update WebRTC code version (2026-02-22T04:10:27).
Bug: None
Change-Id: I1516f97eb8df4190a3d6a93d799b4435e0d7f10c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/451341
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@{#46972}
2026-02-21 22:40:34 -08:00
webrtc-version-updater
25ffb6278c Update WebRTC code version (2026-02-21T04:06:53).
Bug: None
Change-Id: Ied1ee914e0734c25724653e1ecdd1c89b8ab9582
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/451080
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@{#46969}
2026-02-20 22:44:43 -08:00