Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5273 commits
Select commit Hold shift + click to select a range
d4ef544
Emit CCFB parameters per codec, not wildcard
Mar 9, 2026
d095dd2
Clean up some video-related OWNERS files.
Mar 3, 2026
b9f91bc
Clean up unused members in WebRtcVideoEngine classes
Mar 9, 2026
96625b9
Remove deprecated charset handling in AsyncHttpUrlConnection
Mar 10, 2026
3965af1
PipeWire: call pw_deinit() only when running against PipeWire 3.49+
grulja Mar 10, 2026
4a6be38
Check RtcTransport payload isn't too short before checking it's an RT…
tonyherre Mar 6, 2026
a18009b
Removed obsolete suppression
Mar 9, 2026
86c4b5b
Replace ArrayView with std::span in media/
DanilChapovalov Mar 9, 2026
77a3053
Roll chromium_revision c22ce439a0..07798bc2eb (1595685:1596985)
Mar 10, 2026
2217b0c
Remove test code related to unused variables
Mar 6, 2026
7040fbc
build: change more tests to use rtc_test instead of rtc_exectuable
fippo Feb 20, 2026
565bbdd
Replace ArrayView with std::span in rtc_base/
DanilChapovalov Mar 6, 2026
2018a4f
Consolidate FakeAudioStream and FakeVideoStream classes for tests.
Mar 10, 2026
c34d367
Roll chromium_revision 07798bc2eb..5a3b6f09e6 (1596985:1597105)
Mar 10, 2026
84ff19e
Update WebRTC code version (2026-03-11T04:03:48).
Mar 11, 2026
8281b93
Roll chromium_revision 5a3b6f09e6..a5382cea3d (1597105:1597531)
Mar 11, 2026
c4e1adf
Replace ArrayView with std::span in logging/
DanilChapovalov Mar 10, 2026
9e33813
Fix payload type allocation issues for Audio RED and MID recycling.
Mar 11, 2026
db48878
Roll chromium_revision a5382cea3d..b937d39273 (1597531:1597657)
Mar 11, 2026
e4f9241
Revert "Fix payload type allocation issues for Audio RED and MID recy…
Mar 11, 2026
510e4f2
Replace ArrayView with std::span in net/dcsctp/
DanilChapovalov Mar 7, 2026
201168a
Replace ArrayView with std::span in modules/audio_processing/aec3
DanilChapovalov Mar 11, 2026
17a2fb5
Roll chromium_revision b937d39273..8fdfcb5d76 (1597657:1597876)
Mar 11, 2026
4a39f94
Move Call::receive_time_calculator_ to network thread
Mar 11, 2026
ca88c7d
Remove some unused calls from Video Engine classes
Mar 9, 2026
da6f7ff
Roll chromium_revision 8fdfcb5d76..94ef474520 (1597876:1598026)
Mar 11, 2026
5f1f4d5
Roll chromium_revision 94ef474520..68ba4ea02a (1598026:1598147)
Mar 12, 2026
815295a
Update WebRTC code version (2026-03-12T04:11:50).
Mar 12, 2026
4420b58
Roll chromium_revision 68ba4ea02a..42535d5df1 (1598147:1598261)
Mar 12, 2026
77cd0a7
Make the targets leaking through 'libjingle_peerconnection_api' public
Mar 12, 2026
ed82d23
build: clean up api/BUILD.gn
fippo Mar 11, 2026
ba64784
pc: Enhance stability integration test
Mar 12, 2026
9c1612b
Encapsulate and make RTP sequence number available in RtpPacketInfo.
Mar 11, 2026
7fddd93
Make scream more resilient to delay spikes
perkj Mar 11, 2026
561305f
Removed the AEC3 namespace
Mar 12, 2026
7c36f79
Add workaround for OpenH264 related to U/V strides.
Mar 12, 2026
0b3311e
Run iwyu on current CL if no files are given on command line
Mar 12, 2026
447a59d
Reland "Fix payload type allocation issues for Audio RED and MID recy…
Mar 12, 2026
63cadb1
Remove unsupported python event log analyzer
Mar 12, 2026
71cf81a
Revert "Roll chromium_revision 68ba4ea02a..42535d5df1 (1598147:1598261)"
MirkoBonadei Mar 12, 2026
6d9c409
Revert "Roll chromium_revision 94ef474520..68ba4ea02a (1598026:1598147)"
MirkoBonadei Mar 12, 2026
b32c246
Revert "Roll chromium_revision 8fdfcb5d76..94ef474520 (1597876:1598026)"
MirkoBonadei Mar 12, 2026
f784e44
Revert "Roll chromium_revision b937d39273..8fdfcb5d76 (1597657:1597876)"
MirkoBonadei Mar 12, 2026
3e0a723
build: gn_check_autofix should retain blank lines, comments and # kee…
fippo Mar 12, 2026
aafe141
PipeWire capture: add CFI suppression for StopCapture()
grulja Mar 12, 2026
4f037dd
Roll chromium_revision b937d39273..32ae6a1187 (1597657:1598618)
Mar 12, 2026
9fec182
Revert "Roll chromium_revision b937d39273..32ae6a1187 (1597657:1598618)"
jleconte2 Mar 12, 2026
04bdac9
Revert^4 "Default enable WebRTC-HeaderExtensionNegotiateMemory"
Mar 12, 2026
c594582
Replace RtpDemuxerCriteria member with discrete variables
Mar 12, 2026
2d4de9f
build: clean up api:enable_media deps
fippo Mar 12, 2026
c6d1a82
Increase MSS to 1280bytes to increase BWE ramp up speed
perkj Mar 12, 2026
ea1fce9
Roll chromium_revision b937d39273..8f11ead6b3 (1597657:1598931)
Mar 13, 2026
e429887
Add encoder switch request callback to VideoMediaSendChannel
Mar 12, 2026
1ab988e
Fix flakiness in ScreamTest.SendVideoOnlyReturnLinkWithBurstLoss
perkj Mar 13, 2026
a0e526c
Revert "Roll chromium_revision b937d39273..8f11ead6b3 (1597657:1598931)"
jleconte2 Mar 13, 2026
ff07f34
Move payload_type_demuxing_enabled_ to the network thread
Mar 13, 2026
5460d74
Reject frames with inconsistent U/V strides.
Mar 13, 2026
d460e60
AEC3: Fix render buffer headroom calculation on underruns
Mar 13, 2026
cdc36b7
Roll chromium_revision b937d39273..4ab63722a5 (1597657:1599101)
Mar 13, 2026
2ee2982
Roll chromium_revision 4ab63722a5..fb6250728d (1599101:1599271)
Mar 13, 2026
2d45ac9
Roll chromium_revision fb6250728d..6fb43a733b (1599271:1599381)
Mar 14, 2026
bee8d81
Update WebRTC code version (2026-03-14T04:12:07).
Mar 14, 2026
d92a2b7
Roll chromium_revision 6fb43a733b..7c89d33808 (1599381:1599481)
Mar 14, 2026
b7e65ec
Update WebRTC code version (2026-03-15T04:07:45).
Mar 15, 2026
b345634
Roll chromium_revision 7c89d33808..ae756e4ad3 (1599481:1599588)
Mar 15, 2026
1a2db2d
Roll chromium_revision ae756e4ad3..88388785e2 (1599588:1599692)
Mar 16, 2026
d11adf6
Update WebRTC code version (2026-03-16T04:04:41).
Mar 16, 2026
d9b92fe
Make max target input level for input controller -12dB
Mar 16, 2026
0e036e1
Fix integer overflow in WebRtc_CreateBuffer
Mar 13, 2026
a7f267f
Fix missing mediaSourceId in simulcast outbound-rtp stats
Mar 13, 2026
254fefe
Fetch sender parameters asynchronously during GetStats
Mar 13, 2026
c694188
Re-adding apm_data_dumper.h to the list of unsafe buffer exceptions.
Mar 13, 2026
629212a
Refactor StunRequestTest to use GlobalSimulatedTimeController
Mar 6, 2026
457f8ae
Use GlobalSimulatedTimeController in local_network_access_port_unittest
Mar 16, 2026
9056a05
Use injected clock in ssl_stream_adapter_unittest
Mar 16, 2026
68f867e
Remove WebRTC-RtcEventLogEncodeDependencyDescriptor field trial
Mar 16, 2026
f78e89d
Roll chromium_revision 88388785e2..54dac6b1cc (1599692:1599815)
Mar 16, 2026
91067be
VAD SplitFilter may overflow integerr.
Mar 16, 2026
aa21720
Roll chromium_revision 54dac6b1cc..432c30e3e1 (1599815:1599933)
Mar 16, 2026
db6adf2
Removed the configuration options for multi_channel processing
Mar 16, 2026
2789ba6
Roll chromium_revision 432c30e3e1..3233143d85 (1599933:1600202)
Mar 17, 2026
1d7d15d
Roll chromium_revision 3233143d85..8ab1ce0d36 (1600202:1600317)
Mar 17, 2026
6a75a33
Update WebRTC code version (2026-03-17T04:10:08).
Mar 17, 2026
4b7e544
Move ssrcs_ and payload_types_ to the network thread
Mar 16, 2026
ae5414e
Roll chromium_revision 8ab1ce0d36..eb32defcec (1600317:1600457)
Mar 17, 2026
60f5061
Remove use of ScopedFakeClock in video_encoder_software_fallback_wrap…
Mar 16, 2026
210a099
Revert "Removed the configuration options for multi_channel processing"
Mar 17, 2026
438e870
Update kMaxPacketBufferSize to support 50ms @ 48kHz in RtpFileReader
Mar 17, 2026
4637b33
Ensure Scream only treat reported lost packets once
perkj Mar 17, 2026
6f76a57
Roll chromium_revision eb32defcec..323d808a85 (1600457:1600582)
Mar 17, 2026
16be9d9
Fix racy pending frame status in SimulcastEncoderAdapter.
Mar 17, 2026
262568c
Roll chromium_revision 323d808a85..19b05ed41b (1600582:1600751)
Mar 17, 2026
29ae126
Update WebRTC code version (2026-03-18T04:02:27).
Mar 18, 2026
deeeb70
Roll chromium_revision 19b05ed41b..b30d84fa40 (1600751:1601092)
Mar 18, 2026
4c8479b
IWYU: regenerate compile_commands.json on every run
fippo Mar 17, 2026
32d4924
Use GlobalSimulatedTimecontroller in turn_port_unittest
Mar 17, 2026
133ca9e
Roll chromium_revision b30d84fa40..72553e8b4b (1601092:1601266)
Mar 18, 2026
76018a2
Change UMA logging to only log once for same kind of error
palak8669 Mar 18, 2026
c0854b6
Roll chromium_revision 72553e8b4b..d609a75cbb (1601266:1601402)
Mar 18, 2026
dfceedf
Enhance ScopedOperationsBatcher to support tasks returning tasks.
Mar 16, 2026
ff23a3d
Roll chromium_revision d609a75cbb..ff9c037b0d (1601402:1601561)
Mar 18, 2026
6144ca0
Roll chromium_revision ff9c037b0d..c60f7fb998 (1601561:1601697)
Mar 19, 2026
af098aa
Update WebRTC code version (2026-03-19T04:08:14).
Mar 19, 2026
da87ea8
Move ScopedOperationsBatcher to its own source files
Mar 18, 2026
5d1521d
Roll chromium_revision c60f7fb998..ae3e9c7e15 (1601697:1601850)
Mar 19, 2026
fa178be
Add yielding support to ScopedOperationsBatcher
Mar 19, 2026
704c29c
Attempt to deflake ScreamTest.LinkCapacity2MbpsRtt50msNoEcn
perkj Mar 19, 2026
c055986
Make Evan co-owner of WebRTC stats directories.
henbos Mar 19, 2026
dcb0c0d
Make Evan and Guido peer_connection/webrtc_sdp co-owners.
henbos Mar 19, 2026
9fd0fd9
Remove unused ScopedFakeClock from packet_router_unittest
Mar 16, 2026
8609b57
Roll chromium_revision ae3e9c7e15..19412fd4e2 (1601850:1602015)
Mar 19, 2026
1c562d1
Roll chromium_revision 19412fd4e2..4ea3a3a5a8 (1602015:1602184)
Mar 19, 2026
c0228a1
Remove deprecated StartSctpTransport method
Mar 19, 2026
c8cb3a6
Roll chromium_revision 4ea3a3a5a8..0939042bb0 (1602184:1602336)
Mar 20, 2026
cb04405
Fix metadata for Portaudio library for mac
Nov 14, 2025
16e3002
Update WebRTC code version (2026-03-20T04:01:59).
Mar 20, 2026
2fc65d3
Roll chromium_revision 0939042bb0..d1fc7b8926 (1602336:1602437)
Mar 20, 2026
c63366c
Allow initial BWE probing with Scream without configured media
perkj Mar 20, 2026
304ad08
gn_check_autofix: increase error limit for gn check
fippo Mar 20, 2026
eabb52c
build: clean up modules/congestion_controller targets
fippo Mar 11, 2026
2877e29
FrameEncodeMetadataWriter: Don't make callbacks while holding lock.
Mar 20, 2026
9793534
Remove unused method VCMTiming::UpdateCurrentDelay.
Mar 20, 2026
26b5241
Roll chromium_revision d1fc7b8926..31f6cbd695 (1602437:1602558)
Mar 20, 2026
60c526d
Use GlobalSimulatedTimeController in dtmf_sender_unittest
Mar 16, 2026
e844bd8
Allow unspecified max allocatable bitrate in VideoSendStreamImpl
Mar 20, 2026
0b6045b
Prevent RTCStatsCollector crash for stopped transceivers
Mar 20, 2026
22e6f6c
Roll chromium_revision 31f6cbd695..d2fdfe540d (1602558:1602801)
Mar 20, 2026
b00f479
Update WebRTC code version (2026-03-22T04:07:46).
Mar 22, 2026
1aacbbf
Sframe API support for sender and receiver
k-wasniowski Mar 17, 2026
47fddff
Run simulcast adapter test ConcurrentEncodeAndOnEncodedImage on TSAN.
Mar 20, 2026
4f39d45
build: remove unnecessary targets in video_coding
fippo Mar 20, 2026
5adc7ad
Fix unsafe buffer usage error in apm_data_dumper.h
Mar 20, 2026
bc9cf92
Revert "Allow unspecified max allocatable bitrate in VideoSendStreamI…
perkj Mar 23, 2026
0f29d06
Move VCMTiming::kDefaultRenderDelay to anonymous namespace in .cc file.
Mar 23, 2026
7e9559f
Fix out-of-bounds write in SetupCodec due to excessive RIDs
Mar 20, 2026
d0c7fd3
Refactor BaseChannel+ChannelInterface to return RTCError instead of bool
Mar 23, 2026
bed5b7e
Roll chromium_revision d2fdfe540d..edf3774d66 (1602801:1603529)
Mar 23, 2026
82882c3
Roll chromium_revision edf3774d66..c5265f5aea (1603529:1603661)
Mar 23, 2026
7127585
Roll chromium_revision c5265f5aea..db815f58ca (1603661:1603797)
Mar 24, 2026
0046d72
Update WebRTC code version (2026-03-24T04:06:53).
Mar 24, 2026
c834307
Ignore BWE expectations in ScreamTest
perkj Mar 23, 2026
336f5fb
snap: assert behavior when sctp-init changes due to pranswer
fippo Mar 23, 2026
b896718
Roll chromium_revision db815f58ca..c9a20fd775 (1603797:1603923)
Mar 24, 2026
2c28168
Use GlobalSimulatedTimeController in BasicPortAllocatorTest
Mar 18, 2026
e68d24d
Replace LOG_AND_RETURN_ERROR with "return LOG_ERROR"
Mar 24, 2026
49a0591
Roll chromium_revision c9a20fd775..ba4fdb3ab0 (1603923:1604035)
Mar 24, 2026
731795b
Refactor AddCertificateReports to prevent crash
Mar 23, 2026
c397ee9
Follow-up auto -> explicit type
Mar 24, 2026
f4bfe0b
Roll chromium_revision ba4fdb3ab0..4acdf7133f (1604035:1604168)
Mar 24, 2026
0bc96c8
Reland "Allow unspecified max allocatable bitrate in VideoSendStreamI…
Mar 24, 2026
13e7eba
Roll chromium_revision 4acdf7133f..8327d89a47 (1604168:1604334)
Mar 24, 2026
f85d783
Roll chromium_revision 8327d89a47..60f1c8a981 (1604334:1604486)
Mar 25, 2026
a08f6ce
Update WebRTC code version (2026-03-25T04:04:33).
Mar 25, 2026
9c36e11
Simplify thread yielding by removing support for high-priority tasks
Mar 24, 2026
a875e8c
build: clean up api/BUILD.gn libjingle_peerconnection_api target
Mar 25, 2026
5e177d2
Harden SimpleStringBuilder safety checks
Mar 24, 2026
277d8b2
Roll chromium_revision 60f1c8a981..d3079a981f (1604486:1604639)
Mar 25, 2026
9f4a516
Use subset profile matching for H.264 decoder support
shaofan-qi Mar 24, 2026
1d5a6e1
Use GPU texture in desktop capture
zhibo1-wang Mar 24, 2026
746e3f9
Use GlobalSimulatedTimeController in P2PTransportChannelTest
Mar 20, 2026
3d3d455
Correct setting Scream padding end time
perkj Mar 25, 2026
228f04d
pc: rename data_channel_unittest
fippo Mar 25, 2026
da927d7
Refactor stun_port_unittest to use GlobalSimulatedTimeController
Mar 6, 2026
8551776
Add gtest-parallel skill
Mar 24, 2026
84c9fda
Initialize NetEqNetworkStatistics fields.
Mar 25, 2026
80dd204
Roll chromium_revision d3079a981f..5b78ada5e8 (1604639:1604779)
Mar 25, 2026
a32d5d8
Roll chromium_revision 5b78ada5e8..a3f5fcb392 (1604779:1604961)
Mar 25, 2026
246b8de
build: clean up modules audio build files
fippo Mar 25, 2026
1b9f86f
build: remove unnecessary targets in video_coding
fippo Mar 25, 2026
18f6a99
Change how TimingFrameInfo is passed to ReceiveStatisticsProxy.
Mar 26, 2026
5560f13
Truncate CSRC list in RtpPacket::SetCsrcs if too large
Mar 25, 2026
989cdab
Delete the AEC3 json config fuzzer
Mar 16, 2026
0594661
Revert "build: clean up modules audio build files"
MirkoBonadei Mar 26, 2026
bb96cba
Spring cleanup of WATCHLIST and OWNER files
Mar 26, 2026
1f9fdd2
Replace ArrayView with std::span in modules/audio_processing
DanilChapovalov Mar 26, 2026
4070f12
Use GlobalSimulatedTimeController in PortTest
Mar 19, 2026
b188c9f
Update WebRTC code version (2026-03-27T04:10:01).
Mar 27, 2026
b466437
Use first_ssrc() instead of ssrcs[0] in channel.cc
Mar 26, 2026
47601ff
Replace ArrayView with std::span in common_video/
DanilChapovalov Mar 26, 2026
fef1bf4
Refactor RTP Header Extension Management into RtpTransport
Mar 27, 2026
c95a4a9
Add .gemini to .gitignore
Feb 17, 2026
b83ca3e
Create include-cleaner skill
Mar 25, 2026
0085c1c
Rename methods in ScopedOperationsBatcher
Mar 27, 2026
c6ef49b
More spring cleaning
Mar 27, 2026
2395c1f
Remove SIMULATED_WAIT
Mar 25, 2026
5398785
Convert kMax constants in video_codec_constants to size_t
Mar 27, 2026
190a780
p2ptc: clean up unused legacy API
fippo Mar 26, 2026
fd2e7ea
Fix potential dcSCTP NackBetweenAckBlocks OOB access
Mar 27, 2026
fe2da40
Audio: Reduce max channels to 16 to prevent buffer overflow
Mar 27, 2026
39fcc21
Replace ArrayView with std::span in modules/
DanilChapovalov Mar 27, 2026
830e031
Use the PayloadType class rather than uint8_t in Codec class
Mar 27, 2026
978f78b
Support custom socket server in test::RunLoop
Mar 27, 2026
c25f3da
Update ScopedOperationsBatcher tasks with finalizers to propagate errors
Mar 27, 2026
876820e
Update WebRTC code version (2026-03-28T04:04:44).
Mar 28, 2026
4487631
PipeWire capture: fix camera capability enumeration race and duplicates
grulja Mar 25, 2026
a73939f
Update WebRTC code version (2026-03-29T04:05:05).
Mar 29, 2026
65dd518
Update WebRTC code version (2026-03-30T04:12:15).
Mar 30, 2026
50f35f0
Reapply "build: clean up modules audio build files"
fippo Mar 27, 2026
c975291
Replace ArrayView with std::span everywhere except api
DanilChapovalov Mar 27, 2026
443e7ad
Synchronize final stats collection in E2E quality tests
Mar 29, 2026
36def04
Scream, ensure feedback contains at least one received packet
perkj Mar 30, 2026
f1c5550
Move the LibaomAv1Encoder V2 encoder implementation to separate file.
Mar 30, 2026
f79b115
Replace ArrayView with std::span in modules/video_coding/av1
DanilChapovalov Mar 30, 2026
3f11f14
Update WebRTC code version (2026-03-31T04:10:44).
Mar 31, 2026
6075b7e
Add gn-check-autofix skill
Mar 31, 2026
0ead3cb
Use ScopedOperationsBatcher for media description pushdown
Mar 28, 2026
5a90c2d
Delete deprecated reinterpret_array_view
DanilChapovalov Mar 31, 2026
e10cd19
Audio: Enable dynamic on-the-fly AEC3 configuration updates for the s…
Mar 31, 2026
ae72a71
Use RunLoop in pc/ tests
Mar 30, 2026
9f086f0
Use RunLoop in test/ tests
Mar 31, 2026
6331862
Group members in VCMTiming into a VideoDelayTimings struct.
Mar 31, 2026
6815c67
Use RunLoop in rtc_base/ tests
Mar 31, 2026
507cc3d
Use RunLoop in video/ tests
Mar 31, 2026
6b3d4ef
Use RunLoop in media/ tests
Mar 31, 2026
4f39938
Use real Thread in examples/ instead of AutoThread
Mar 31, 2026
06d113a
Use RunLoop in p2p/ tests
Mar 31, 2026
2dab14a
Use RunLoop in call/ tests
Mar 31, 2026
f2b4180
Allow EventLogAnalyzer to be created without a valid parsed log
perkj Apr 1, 2026
c6b486d
Update WebRTC code version (2026-04-02T04:08:10).
Apr 2, 2026
52e8522
Replace ArrayView with std::span in api/
DanilChapovalov Mar 30, 2026
2b7dced
Use RunLoop in audio/ tests
Mar 31, 2026
2432b69
Capture channel pointers on signaling thread to fix data race
Apr 2, 2026
a2bd172
Move payload type demuxing management to RtpTransport
Apr 1, 2026
ca896b7
Fix rebase issue of two colliding CLs
Apr 2, 2026
1822467
[Merge-148] Cherry pick "Move the NullVideoDecoder into a separate fi…
henbos Apr 9, 2026
2c3c984
[M148] Allow signaled SSRCs to override learned bindings in RtpDemuxer
Apr 16, 2026
9c2497e
[M148] Check vector sizes when crossfading from CNG/expand to normal.
Apr 16, 2026
3fda322
[M148] Relax RTP header extension ID reuse checks in RtpTransport
Apr 20, 2026
9600e77
[M148] Fix TOCTOU race in RtpVideoSender::OnVideoLayersAllocationUpdated
Apr 10, 2026
6316b66
[M148] [Pipewire] Fix mouse cursor data race.
markafoltz Apr 20, 2026
9a7f650
[M148] Always release VideoEncoders before destruction.
Apr 21, 2026
305a870
[M148] Refactor RTP header extension ID allocation to be persistent a…
mosamorosev May 15, 2026
d46237a
[M148] Validate CGImage dimensions in MouseCursorMonitorMac
May 15, 2026
26c6538
[M148] Guard RestoreTokenManager add/reads with Mutex
alcooper91 May 14, 2026
ac8b001
[M148] [desktop capture] Fix TOCTOU race condition in CroppingWindowC…
markafoltz Apr 27, 2026
e3ee869
[M148] In SctpDataChannel use plain bool as safety flag.
DanilChapovalov May 5, 2026
e6ca111
[M148] [WGC] Fix frame size synchronization
alcooper91 Jun 2, 2026
27bfd35
[M148] Fix OOB write in RotateDesktopFrame and DXGI size mismatch
alcooper91 Jun 8, 2026
4198555
[M148] Add better checks for temporal/spatial bounds in EncoderBitrat…
May 22, 2026
bc4f3f3
[M148] pc: fix use-after-free in AllocateSctpSids
Apr 21, 2026
f393199
[M148] Remove audio stream from old sync group on update.
Apr 21, 2026
3b6c06a
Merge commit 'b47e68e6966d5a5a0e4bc861ff364221600f31c3' into merge-we…
Jul 8, 2026
7462ed7
Merge WebRTC M148 (branch-head 7778) into develop
Jul 8, 2026
73bfc6a
Audio engine input / output availability (#196)
hiroshihorie Sep 19, 2025
6d64997
review comments fix
santhoshvai Jul 8, 2026
d885121
Fix packaging workflows
Jul 8, 2026
14d8118
Merge pull request #99 from GetStream/audio-engine-avail
ipavlidakis Jul 8, 2026
6fd3f65
[android] Allow environment_construction poison in simulcast_jni
Jul 8, 2026
194461a
[android] Drop AECM mobile_mode from external APM JNI (removed in M148)
Jul 8, 2026
d060076
[ios] Pin Xcode 26.3 for SDK builds so Apple ld keeps linking
Jul 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file added .agents/.style.mdformat
Empty file.
72 changes: 72 additions & 0 deletions .agents/skills/gn-check-autofix/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
name: gn-check-autofix
description: Automatically fix GN check errors in WebRTC BUILD.gn files. Use when encountering "Include not allowed", "rtc_source_set shall not contain cc files", or when needing to clean up non-absolute dependencies.
---

# GN Check Autofix

This skill provides instructions for using `tools_webrtc/gn_check_autofix.py` to
automatically resolve common GN build configuration errors in WebRTC.

## Core Workflows

### Fix Missing Dependencies

When you see "Include not allowed" errors from `gn gen --check`, use this
workflow:

1. Run the autofix tool on your output directory:
```bash
tools_webrtc/gn_check_autofix.py -C <dir>
```
2. The tool will:
- Identify targets missing dependencies.
- Add the missing `deps` to the appropriate `BUILD.gn` files.
- Automatically run `gn format` on modified files.

### Fix rtc_source_set Violations

If you see "rtc_source_set shall not contain cc files", the tool will
automatically convert them to `rtc_library`:

1. Run the tool:
```bash
tools_webrtc/gn_check_autofix.py -C <dir>
```

### Clean Up Dependencies

To remove all non-absolute dependencies (those not starting with `//`) from
specific `BUILD.gn` files:

```bash
tools_webrtc/gn_check_autofix.py -r path/to/BUILD.gn
```

*Note: This preserves absolute dependencies (starting with `//`) and targets
ending in `_test`, `_tests`, `_unittest`, or `_unittests`.*

## Integration with Include Cleaner

This tool is the recommended second step after running `webrtc-include-cleaner`.
While the include cleaner updates your C++ source files, `gn-check-autofix`
synchronizes your `BUILD.gn` files to match.

## Parameters

- `-C <dir>`: Path to a local build directory (e.g., `out/Default`). The tool
internally runs `gn gen --check --error-limit=20000`.
- `-r <files>`: Remove all non-absolute dependencies from the specified files.
- `--error-limit`: Can be used to override the default error cap.

## Post-Fix Steps

After the tool runs, always verify the changes:

1. **Deduplicate**: The tool may occasionally add a dependency that is already
present. Check the `deps` list for duplicates.
2. **Regenerate GN**: Run `gn gen <dir>` to confirm errors are resolved.
3. **Format**: The tool runs `gn format`, but a final `git cl format` is
recommended for consistency.
4. **Review**: Check the diff to ensure dependencies were added to the correct
targets.
60 changes: 60 additions & 0 deletions .agents/skills/gtest-parallel/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
name: gtest-parallel
description: Run Google Test binaries in parallel using the gtest-parallel script. Use when needing to speed up test execution, run flaky tests with repeat, or filter specific tests.
---

# gtest-parallel

`gtest-parallel` is a script that executes Google Test binaries in parallel,
providing speedup for single-threaded tests and tests that do not run at 100%
CPU.

## Location

The script is located at `third_party/gtest-parallel/gtest-parallel`.

## Core Flags

### Filtering Tests

Use `--gtest_filter` to run a select set of tests. It supports the same syntax
as Google Test (including exclusion with `-`).

```bash
third_party/gtest-parallel/gtest-parallel path/to/binary --gtest_filter=Foo.*:Bar.*
```

### Timeouts

- `--timeout=TIMEOUT`: Interrupt all remaining processes after the given time
(in seconds).
- `--timeout_per_test=TIMEOUT_PER_TEST`: Interrupt single processes after the
given time (in seconds).

### Output and Logging

- `-d OUTPUT_DIR`, `--output_dir=OUTPUT_DIR`: Output directory for test logs.
Logs will be available under `gtest-parallel-logs/` inside the specified
directory.
- `--dump_json_test_results=DUMP_JSON_TEST_RESULTS`: Saves the results of the
tests as a JSON machine-readable file.

## Advanced Usage

### Repeating Tests (Flakiness Testing)

Use `--repeat=N` to run tests multiple times.

```bash
third_party/gtest-parallel/gtest-parallel path/to/binary --repeat=1000
```

### Workers

Use `-w WORKERS` or `--workers=WORKERS` to specify the number of parallel
workers (defaults to the number of cores).

### Serializing Test Cases

Use `--serialize_test_cases` to run tests within the same test case sequentially
(useful if they share resources).
67 changes: 67 additions & 0 deletions .agents/skills/include-cleaner/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
name: webrtc-include-cleaner
description: Runs the WebRTC include-cleaner tool (IWYU replacement) to fix headers in C++ files. Use when preparing a CL for upload, after modifying .cc or .h files, or when instructed to fix include regressions.
---

# WebRTC Include Cleaner

This skill provides instructions for using
`tools_webrtc/iwyu/apply-include-cleaner`, a tool that automatically manages C++
`#include` directives in the WebRTC codebase. It ensures that every header used
is explicitly included and that unused headers are removed.

## When to Use

- **Pre-upload**: Run this tool before uploading a CL to ensure clean includes.
- **After refactoring**: When moving code or changing dependencies, use this to
update `#include` blocks.
- **Fixing regressions**: Use this if a presubmit or bot identifies
include-related issues.

## Basic Usage

To run the include cleaner on specific files:

```bash
tools_webrtc/iwyu/apply-include-cleaner path/to/file.cc path/to/file.h
```

To run it on all modified files relative to the upstream branch (ideal for CL
preparation):

```bash
tools_webrtc/iwyu/apply-include-cleaner
```

Note: This is as expensive as a build for each file, so use it sparingly.

## Options

- `-p`, `--print`: Don't modify the files, just print the proposed changes.
- `-w WORK_DIR`, `--work-dir WORK_DIR`: Specify the GN work directory (default:
`out/Default`).

## Post-Execution Steps

After running the include cleaner, it is recommended to perform the following
steps to ensure build and style consistency:

1. **Check for build errors**: The tool might occasionally make mistakes. Run a
build to verify.
1. **Fix GN dependencies**: Use `tools_webrtc/gn_check_autofix.py` to fix any
`deps` issues caused by include changes.
```bash
tools_webrtc/gn_check_autofix.py -C out/Default
```
1. **Format code**: Run `git cl format` to fix any formatting issues in the
`#include` blocks.
```bash
git cl format
```

## Prerequisites

- The tool automatically generates `compile_commands.json` in the output
directory if `out/Default` exists.
- `clangd` must be checked out in your `.gclient` file
(`"checkout_clangd": True`).
13 changes: 10 additions & 3 deletions .github/workflows/manual-platform-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,12 @@ jobs:

- name: Build iOS SDK artifact
working-directory: release-pipeline
# M148's build config adds the lld-only flag --ignore-auto-link-option
# when Xcode >= 26.4, but the pipeline links with Apple ld (use_lld=false
# for Mac Catalyst), which rejects it. Pin Xcode 26.3 until the Catalyst
# slices can link with lld again.
env:
DEVELOPER_DIR: /Applications/Xcode_26.3.app
run: >-
bundle exec fastlane ios build
"root:${{ github.workspace }}/webrtc-tree/.output/src"
Expand Down Expand Up @@ -443,12 +449,13 @@ jobs:
while IFS= read -r framework; do
command+=(-framework "${framework}")
if [[ "${ENABLE_DEBUG}" == "true" ]]; then
mapfile -t dsyms < <(find "$(dirname "${framework}")" -name "$(basename "${framework}").dSYM" -type d | sort)
if [[ "${#dsyms[@]}" -eq 0 ]]; then
# macOS runners use bash 3.2, which lacks mapfile.
dsym="$(find "$(dirname "${framework}")" -name "$(basename "${framework}").dSYM" -type d | sort | head -n 1)"
if [[ -z "${dsym}" ]]; then
echo "::warning::Missing dSYM for ${framework}"
continue
fi
command+=(-debug-symbols "${dsyms[0]}")
command+=(-debug-symbols "${dsym}")
fi
done < <(find apple-inputs -name '*.framework' -type d | sort)

Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,12 @@ jobs:

- name: Build iOS SDK artifact
working-directory: release-pipeline
# M148's build config adds the lld-only flag --ignore-auto-link-option
# when Xcode >= 26.4, but the pipeline links with Apple ld (use_lld=false
# for Mac Catalyst), which rejects it. Pin Xcode 26.3 until the Catalyst
# slices can link with lld again.
env:
DEVELOPER_DIR: /Applications/Xcode_26.3.app
run: >-
bundle exec fastlane ios build
"root:${{ github.workspace }}/webrtc-tree/.output/src"
Expand Down Expand Up @@ -418,12 +424,13 @@ jobs:
while IFS= read -r framework; do
command+=(-framework "${framework}")
if [[ "${ENABLE_DEBUG}" == "true" ]]; then
mapfile -t dsyms < <(find "$(dirname "${framework}")" -name "$(basename "${framework}").dSYM" -type d | sort)
if [[ "${#dsyms[@]}" -eq 0 ]]; then
# macOS runners use bash 3.2, which lacks mapfile.
dsym="$(find "$(dirname "${framework}")" -name "$(basename "${framework}").dSYM" -type d | sort | head -n 1)"
if [[ -z "${dsym}" ]]; then
echo "::warning::Missing dSYM for ${framework}"
continue
fi
command+=(-debug-symbols "${dsyms[0]}")
command+=(-debug-symbols "${dsym}")
fi
done < <(find apple-inputs -name '*.framework' -type d | sort)

Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,13 @@
.cproject
.gdb_history
.gdbinit
.gemini
.landmines
.metadata
.project
.pydevproject
.settings
.siso_failed_targets
.sw?
/Makefile
/base
Expand Down
6 changes: 4 additions & 2 deletions .gn
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import("//build/dotfile_settings.gni")
buildconfig = "//build/config/BUILDCONFIG.gn"

# The python interpreter to use by default. On Windows, this will look
# for vpython3.exe and vpython3.bat.
script_executable = "vpython3"
# for python3.exe and python3.bat.
script_executable = "python3"

# The secondary source root is a parallel directory tree where
# GN build files are placed when they can not be placed directly
Expand Down Expand Up @@ -95,6 +95,8 @@ default_args = {
# Use Siso instead of Ninja.
use_siso = true

clang_unsafe_buffers_paths = "//unsafe_buffers_paths.txt"

# WebRTC must stay in C++20 for longer compared to Chromium.
use_cxx23 = false
}
3 changes: 3 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ Hailin Zhao <lynnworld7@gmail.com>
Fizz Fang <fangkb555@gmail.com>
Sai Xu <saixu@qti.qualcomm.com>
Shunyang Zhang <zsy1522943066@gmail.com>
Suresh Jain <jainudr1982@gmail.com>
# END individuals section.

# BEGIN organizations section.
Expand All @@ -188,6 +189,7 @@ Hopin Ltd. <*@hopin.to>
HyperConnect Inc. <*@hpcnt.com>
Igalia S.L. <*@igalia.com>
Intel Corporation <*@intel.com>
Island Technology, Inc. <*@island.io>
LG Electronics, Inc. <*@lge.com>
Life On Air Inc. <*@lifeonair.com>
LiveKit <*@livekit.io>
Expand Down Expand Up @@ -223,4 +225,5 @@ Vonage Holdings Corp. <*@vonage.com>
Wang Qing <wangqing-hf@loongson.cn>
Wire Swiss GmbH <*@wire.com>
&yet LLC <*@andyet.com>
Ahmad Yar <ahmaddurranitrg@gmail.com>
# END organizations section.
Loading