Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
254 commits
Select commit Hold shift + click to select a range
ddd9a55
Delete function Time32 as unused
DanilChapovalov Jul 31, 2025
16e1c24
Log error when candidates are created without mid and index
Aug 4, 2025
1bf1433
Delete deprecated FieldTrials::CreateNoGlobal
DanilChapovalov Aug 4, 2025
2b561cc
Roll chromium_revision 4d9d92ed69..8f771923c5 (1496143:1496253)
Aug 4, 2025
84990b3
Use CurrentTime instead of converting to Timestamp
Aug 4, 2025
043e6c3
Remove `disable_equivalent_phases` from DoAllocate() and Regather() a…
Philipel-WebRTC Jul 30, 2025
483d224
Roll chromium_revision 8f771923c5..8b9d0deba3 (1496253:1496383)
Aug 4, 2025
77e8425
Add simplified WaitUntil variant to wait for a boolean condition
DanilChapovalov Aug 4, 2025
7cf44a4
Implement L4S send stats
fippo Aug 1, 2025
d9d9d43
Roll chromium_revision 8b9d0deba3..8f2c7d1c85 (1496383:1496532)
Aug 4, 2025
eaddb18
Fix ubsan error in EphemeralKeyExchangeCipherGroups::Update
joachimr2 Jul 30, 2025
338a3a1
Roll chromium_revision 8f2c7d1c85..ee8c6eb415 (1496532:1496688)
Aug 5, 2025
d22c6e6
Clean up unused sigslot from unit tests
fippo Aug 4, 2025
83740a0
Don't delete transport-cc if ccfb is disabled.
Aug 5, 2025
8f712e0
IWYU modules/desktop_capture and modules/video_capture for PipeWire
grulja Aug 5, 2025
80b3659
Remove deprecated FieldTrialBasedConfig from api
DanilChapovalov Aug 5, 2025
308687e
Add test combination and test adaptation of peers supporting RFC8888
perkj Aug 5, 2025
ae82143
Roll chromium_revision ee8c6eb415..0a8063c3d4 (1496688:1496888)
Aug 5, 2025
5e8d17b
sdp munging: remove WebRTC-NoSdpMangleNumberOfContents killswitch
fippo Aug 1, 2025
5671453
Roll chromium_revision 0a8063c3d4..3a62e2aee7 (1496888:1497043)
Aug 5, 2025
5f2da8d
clang-tidy: tidy-readability-redundant-declaration
fippo Aug 5, 2025
15152cd
Remove transitional accessor to RTCConfiguration.crypto_options
fippo Jul 30, 2025
96ac10a
Dont require CCFB on none RTP m lines.
perkj Aug 5, 2025
3879d4a
Roll chromium_revision 3a62e2aee7..fc67a3a940 (1497043:1497463)
Aug 6, 2025
f43157f
Plot CCFB packets in RTCP types graph
perkj Aug 6, 2025
2de7998
clang-tidy: add a python script to tidy things up
fippo Aug 5, 2025
cc2da72
Move clang-tidy rules to dotfile
fippo Aug 6, 2025
8792c95
Implement support for RFC8888 in ParsedRtcEventLog::GetPacketInfos
perkj Aug 6, 2025
9dec5c3
Update WebRTC code version (2025-08-07T04:06:30).
Aug 7, 2025
029cc4f
Cleanup p2p_transport_channel_unittests
DanilChapovalov Aug 4, 2025
4cc5050
sdp munging: separate "unable to parse description" error code
fippo Aug 6, 2025
3bd6510
clang-tidy: apply readability-container-size-empty rule
fippo Aug 7, 2025
08a5f11
Update WebRTC code version (2025-08-08T04:06:45).
Aug 8, 2025
bddd6da
clang-tidy: allow empty ruleset
fippo Aug 7, 2025
3c21189
Dont use arrival time as current time when deciding to send feedback
perkj Aug 8, 2025
897031c
Add support for RFC8888 feedback to loss event log plot
perkj Aug 8, 2025
b7bde5a
Implement L4S inbound-rtp stats
fippo Aug 8, 2025
8e8480d
Calculate video encode PSNR (in supported codecs)
fippo Jul 29, 2025
3200a0b
Update WebRTC code version (2025-08-09T04:06:03).
Aug 9, 2025
684e849
Create api/video/corruption_detection directory.
Aug 8, 2025
d121734
Use time units in Syncable interface
DanilChapovalov Aug 8, 2025
7acf831
Deflake P2PTransportChannelTest.TestIceConfigWillPassDownToPort test
DanilChapovalov Aug 8, 2025
85642b2
Add modernize-use-std-numbers to .clang-tidy
Aug 10, 2025
f6aade0
Separate assignment statements in echo_canceller3
joachimr2 Aug 5, 2025
400bc0e
Rename Call(Send|Receive)Statistics to Channel...Statistics
fippo Aug 11, 2025
3ced074
Update WebRTC code version (2025-08-12T04:06:27).
Aug 12, 2025
53beafc
Fix RtpFileSource when reading full RTP packets
DanilChapovalov Aug 11, 2025
65b75ab
Replace test packet NetEqInput::PacketData with RtpPacketReceived
DanilChapovalov Aug 12, 2025
5d74f21
stats: make createDataChannel invalidate the stats cache
fippo Aug 7, 2025
7acc29f
Introduce CreateTestEnvironment and update test/ to use it
DanilChapovalov Aug 11, 2025
af1ea44
Update WebRTC code version (2025-08-13T04:03:25).
Aug 13, 2025
c0426db
Propagate clock into VP8Decoder::QpSmoother
DanilChapovalov Aug 12, 2025
5c0e910
Use propagated instead of global clock in AlrDetector
DanilChapovalov Aug 12, 2025
91c1c68
Recompile clang-tidy at least every 30 days
Aug 12, 2025
59d21f6
Print RTCP message types in rtc_event_log_to_text
Aug 13, 2025
b6fea31
Add transport_name to CandidatePairChangeEvent
Aug 11, 2025
137e9fc
Replace NextHeader with NextPacket in NetEqInput interface
DanilChapovalov Aug 12, 2025
aa6d2dc
IWYU sdk/ (on Android)
fippo Aug 13, 2025
f4453c3
Use field clock instead of global clock where available
Aug 13, 2025
dec6b34
clang-tidy: apply readability-static-accessed-through-instance once
fippo Aug 11, 2025
04ad566
LNA: Introduce LnaPermissionInterface::ShouldRequestPermission()
Aug 12, 2025
0a53c16
[WGC] Wait longer for the first frame of a stream
gabrielsanbrito Aug 13, 2025
92434d8
Set android min sdk level to 23
Aug 13, 2025
34d8ff1
Use propagated clock instead global time functions in video/
DanilChapovalov Aug 14, 2025
ad87301
Allow to propagate clock into DtlsTransport using Environment
DanilChapovalov Aug 14, 2025
d2e6050
Use propagated clock in RtcEventLog implementation
DanilChapovalov Aug 14, 2025
c8abb04
Reject non-token char in BUNDLE (and other) groups
fippo Aug 12, 2025
9ebd1ce
Guard PSNR stats with rtc_video_psnr build flag
fippo Aug 11, 2025
3d4bae0
SDP munging: Isolate candidate-count changes
Aug 14, 2025
bfaaa88
Replace erase-remove idiom with `std::erase` and `std::erase_if`.
Aug 14, 2025
dead53b
NackRequester: Remove unused enum value
rasmusbrandt Aug 14, 2025
fd3849b
Refine RFC8888 CCFB enablement logic and add test.
perkj Aug 14, 2025
36616fb
Add OnIceCandidateRemoved to PeerConnectionObserver
Aug 14, 2025
7d159d4
Save Environment in the AudioEncoderOpus
DanilChapovalov Aug 14, 2025
2cf793d
Add FourCC pixel format to DesktopFrame
Aug 14, 2025
645334d
Fix race condition in ChannelSend destructor
Aug 15, 2025
ffd474e
Delete deprecated build flag for link-time injection of field trials.
DanilChapovalov Aug 15, 2025
ac2597e
Revert "Use field clock instead of global clock where available"
Aug 15, 2025
2e56c0a
Replace erase-remove idiom with std::erase and std::erase_if (2)
Aug 15, 2025
b1105f6
Remove unused `const Candidate&` code on Android
Aug 15, 2025
e752602
Replace erase-remove idiom with std::erase and std::erase_if (3)
Aug 15, 2025
030e116
Update WebRTC code version (2025-08-17T04:07:43).
Aug 17, 2025
c6c628c
sdp munging: do not misdetect rtp attributes on datachannel
fippo Aug 16, 2025
bd40e64
Remove unused ContentInfo constructor.
Aug 17, 2025
771386d
Remove some unused using declarations from rtp_rtcp unittests
Aug 18, 2025
008a11c
Mark Candidate::transport_name() property as deprecated
Aug 18, 2025
d242314
Use injected clock in overuse_frame_detector
Aug 18, 2025
e7f1e23
Use propagate clock in FrameEncodeMetadataWriter
DanilChapovalov Aug 18, 2025
23eec04
Propagate clock into VP8 ScreenshareLayers helper
DanilChapovalov Aug 13, 2025
21209d5
Add nanoseconds accessor to Timestamp
Aug 18, 2025
9f8cbef
Use injected clock in p2p_transport_channel_unittest
Aug 18, 2025
c746622
Use injected clock in rtc_stats_collector
Aug 18, 2025
cb02a95
Provide default implementation for RemoveIceCandidates
Aug 18, 2025
8a0a775
Update WebRTC code version (2025-08-19T04:08:07).
Aug 19, 2025
496b7b5
Allow and prefer to propagate Environment into AudioDeviceBuffer
DanilChapovalov Aug 18, 2025
aed2936
Refactor RtpPacketizer fuzzers - move identical code into helper func…
DanilChapovalov Aug 18, 2025
29eb47c
Fix some use-after-move issues
Aug 18, 2025
a7cb662
Use injected clock in voip_core
Aug 19, 2025
5cfd38f
Use injected clock in test_audio_device_impl
Aug 19, 2025
8207455
Mark JsepIceCandidate and IceCandidateInterface aliases as deprecated
Aug 17, 2025
44bf510
Remove pixel format check from DesktopFrame constructor
Aug 18, 2025
23a7051
Fix crash when NALU header is too short in RtpPacketizerH265
DanilChapovalov Aug 19, 2025
234b25c
Discourage use of non-const EncodedImageBufferInterface::data
DanilChapovalov Aug 11, 2025
4e1217b
Cleanup RtcEvents copy constructors
DanilChapovalov Aug 18, 2025
7a03b7a
Add error handling for SetBitrate when PeerConnection is closed
hpcnt-daniel-l Aug 19, 2025
4317211
Use injected clock in opus_complexity_unittest
Aug 19, 2025
2d3c329
Use injected clock in encoder_bitrate_adjuster
Aug 19, 2025
9d79cd6
Use injected clock in channel_receive
Aug 19, 2025
ffde1c8
Use injected clock in port
Aug 19, 2025
114566a
Replace erase-remove idiom with std::erase and std::erase_if (4)
Aug 19, 2025
921ba4c
clang-tidy: apply modernize-use-designated-initializer to api/ pc/
fippo Aug 18, 2025
1906139
sdp munging: refactor and split up munging detection
fippo Aug 15, 2025
c5360ff
Delete deprecated variant of the RtpRtcp module
DanilChapovalov Aug 19, 2025
21dcf62
Use injected clock in video_receive_stream2
Aug 19, 2025
802c38c
Add documentation about non-successful return from `FileBasedEncoder:…
Aug 19, 2025
39dc944
replace sigslot signal candidate error with callbacklist
Aug 20, 2025
38bb331
Propagate negotiated header extension to mediachannel on answer
perkj Aug 19, 2025
468589e
Cleanup RtcpReceiver from code for legacy RtpRtcp implementation
DanilChapovalov Aug 20, 2025
6012750
Guard all non-const members of Port with thread_
Aug 20, 2025
ddfbd27
Remove deprecated DtlsTransportInternalImpl constructor
DanilChapovalov Aug 19, 2025
d79dd43
Refactor FrameInstrumentationData and expose it in api/
Aug 19, 2025
af0c2ac
Enable PSNR by default and add MB config for rtc_video_psnr=false to …
fippo Aug 15, 2025
9bc8059
clang-tidy: apply modernize-use-designated-initializer call/ p2p/ rtc…
fippo Aug 19, 2025
9a35866
Update WebRTC code version (2025-08-21T04:03:52).
Aug 21, 2025
b057f44
Revert JsepIceCandidate and IceCandidateInterface deprecation
Aug 21, 2025
1d43877
Cleanup RtcpSender from code for legacy RtpRtcp
DanilChapovalov Aug 20, 2025
962a3d5
Add option to propagate clock into Connection
DanilChapovalov Aug 20, 2025
c57720c
sdp munging: test that we do not misdetect rtp attributes on datachannel
fippo Aug 19, 2025
92fd6cf
Use injected clock in audio device buffer
DanilChapovalov Aug 20, 2025
33f3b4a
Switch M1 bots to use macOS 15.
MirkoBonadei Aug 21, 2025
81d959c
Move FrameInstrumentationEvaluation to api/video/corruption_detection.
Aug 20, 2025
1c0ba91
sigslot: make PortInterface::SignalRoleConflict a CallbackLst
fippo Aug 20, 2025
08ddcf8
clang-tidy: apply modernize-use-designated-initializer to examples/ n…
fippo Aug 20, 2025
6827694
Update WebRTC code version (2025-08-22T04:08:15).
Aug 22, 2025
54aeeeb
Add environment accessor to call
Aug 21, 2025
a275d3e
Revert "sigslot: make PortInterface::SignalRoleConflict a CallbackLst"
MirkoBonadei Aug 22, 2025
e4fcb52
Use injected clock in schedulable_network_node_builder
Aug 22, 2025
6da41c3
Use injected clock in tcp_port_unittest
Aug 22, 2025
dedf36c
Avoid global clock in SamplesStatsCounter
Aug 22, 2025
b62361b
Expose video encode PSNR (in supported codecs) in stats
fippo Aug 14, 2025
8e80e5b
In RtpPacketizerH265 respect single packet reduction length
DanilChapovalov Aug 21, 2025
e36d911
Use injected clock in webrtc_voice_engine
Aug 22, 2025
0f8a007
Use injected clock in webrtc_video_engine
Aug 22, 2025
a680f29
Remove CreateModularPeerConnectionFactory from peer_connection_interf…
DanilChapovalov Aug 22, 2025
b8de314
Revert "Remove CreateModularPeerConnectionFactory from peer_connectio…
DanilChapovalov Aug 25, 2025
e1b0107
Roll siso and update its CIPD package
Aug 22, 2025
ba50cd2
Use injected clock in rtp_replayer
Aug 25, 2025
040f0e1
Propagate clock into AudioNetworkAdapter
DanilChapovalov Aug 25, 2025
90ed637
Add new methods with return type `RTCErrorOr` for file based codecs.
Aug 25, 2025
63f79fe
Propagate Environment to P2PTransportChannel
DanilChapovalov Aug 22, 2025
a2dab3c
Run test_support_unittests on 2 shards.
Aug 25, 2025
c530e64
Fix wraparound issue in FrameInstrumentationGenerator.
Aug 25, 2025
a3fbc13
Delete RtcpRttStats::LastProcessedRtt as no longer used
DanilChapovalov Aug 25, 2025
59f9ca8
Make inbound-rtp stats object lifetime spec-compliant (behind flag).
henbos Aug 25, 2025
4a632de
Update WebRTC code version (2025-08-26T04:04:12).
Aug 26, 2025
e17369f
Use injected clock in turn_port_unittest
Aug 22, 2025
bb7239e
Propagate Clock with Environment into win helper CoreAudioBase
DanilChapovalov Aug 25, 2025
dc0a35f
Add missing direct dependency to libwebrtc.jar aggregated target
DanilChapovalov Aug 25, 2025
306943d
Demonstrate a trampoline for step 1 of Sigslot removal
Aug 26, 2025
8f2f27e
Add visiblity for frame instrumentation evaluation.
Aug 26, 2025
179e05f
Use injected clock in LegacyStatsCollector
Aug 26, 2025
61fc874
Use injected clock in video_send_stream_tests
Aug 22, 2025
3f16dcd
Delete mutable data() accessor in EncodedImageBufferInterface
DanilChapovalov Aug 25, 2025
f9af67c
Propagate Environment into video engine channels
DanilChapovalov Aug 25, 2025
4221e1b
DTLS1.3: Fix missing retransmission due to failure to set timer.
Aug 26, 2025
3950d10
Remove unused TargetTransferRate::stable_target_rate
perkj Aug 25, 2025
cb9c945
clang-tidy: apply modernize-use-designated-initializer to common_vide…
fippo Aug 25, 2025
9e44857
Temporarily disable chromium ios fyi bots.
Aug 26, 2025
d142f35
Add std::optional<RtcpFeedbackType> MediaContentDescription::preferre…
perkj Aug 26, 2025
b93e2b7
VoiceEngine takes Environment from Call
Aug 25, 2025
5b6cc53
clang-tidy: apply modernize-use-designated-initializer to audio/ modu…
fippo Aug 18, 2025
4bafeff
Make outbound-rtp lifetime spec-compliant (behind flag).
henbos Aug 26, 2025
9aa4278
Fix simulcast stats bug with missing outbound-rtps.
henbos Aug 26, 2025
de4667e
Propagate Environment into voice engine channels
DanilChapovalov Aug 26, 2025
a3294ca
Cleanup field trial WebRTC-SetReadyToSendFalseIfSendFail
perkj Aug 27, 2025
1c1c160
Roll chromium_revision fc67a3a940..2385b4418f (1497463:1505834)
Aug 26, 2025
a60b9a4
Test inbound-rtp is created for the early media use case.
henbos Aug 27, 2025
f27f534
Fix declarations that change meaning inside class
Aug 19, 2025
f633ab4
Remove usage of RateTracker in ReceiveStatisticsProxy
DanilChapovalov Aug 27, 2025
bc0e21e
infra/config: Remove luci.recipes.use_python3 experiment
atetubou Aug 27, 2025
bb00360
Prepare to replace sigslot signal candidate ready with callbacklist
Aug 26, 2025
0650d67
Extract SignalTrampoline to a separate .h file
Aug 27, 2025
02a85ad
Switch all Mac and iOS builders and testers to MacOS 15
Aug 27, 2025
0c5b0d6
psnr: tweak sampling rate to make a new measurement every second more…
fippo Aug 25, 2025
fdf0cbb
Update WebRTC code version (2025-08-28T04:10:15).
Aug 28, 2025
cd1ddc2
Prepare tests for change in RTP stats object lifetimes.
henbos Aug 28, 2025
7e95c70
Remove deprecated names inherited from cricket::MediaType
Aug 26, 2025
4f37653
Disable flaky test to unblock LKGR from updating.
henbos Aug 28, 2025
be54081
Remove Connection constructors that do not provide Environment
DanilChapovalov Aug 26, 2025
f147610
Use injected clock in Smoothing filters in OPUS encoder
DanilChapovalov Aug 27, 2025
4b4867d
Remove P2PTransportChannel constructor that do not provide Environment
DanilChapovalov Aug 26, 2025
8eaab28
Preallocate vector for H265 NALU indices
Aug 27, 2025
f4370b1
Make the Network copy operator fail if signals are connected
Aug 28, 2025
0deb9d6
Make WebRTC-RTP-Lifetime enabled-by-default.
henbos Aug 28, 2025
b2ec6c2
Replace erase-remove idiom with std::erase and std::erase_if (5)
Aug 27, 2025
0e582e5
Revert "Make WebRTC-RTP-Lifetime enabled-by-default."
henbos Aug 28, 2025
98db746
Remove use of TimeMillis in EncoderOvershootDetectorTest
Aug 28, 2025
b2a3a64
clang-tidy: apply modernize-use-designated-initializer to modules/ lo…
fippo Aug 27, 2025
01e5a0d
Make WebRTC-RTP-Lifetime Unified Plan-only.
henbos Aug 28, 2025
dae5bce
clang-tidy: add modernize-use-designated-initializer to .clang-tidy
fippo Aug 18, 2025
ede7744
Return RTCErrorOr from Encode and deprecate Encode2
Aug 28, 2025
0f1ebdd
Reland "sigslot: make PortInterface::SignalRoleConflict a CallbackList"
fippo Aug 27, 2025
810be7f
Reland "Make WebRTC-RTP-Lifetime enabled-by-default."
henbos Aug 28, 2025
36a9782
Update WebRTC code version (2025-08-29T04:03:50).
Aug 29, 2025
cbffa76
Make IceTransportInternal immovable and non-copyable
Aug 28, 2025
e46a5d6
Add a clock rate for illegal static audio codecs
Aug 29, 2025
c090fac
Roll chromium_revision 2385b4418f..20846f7ed6 (1505834:1508215)
Aug 29, 2025
f6a73f2
Check bitstream reader before failing parsing Pps
DanilChapovalov Aug 29, 2025
3550e3c
Bump to xcode 17 and 18_2 for simulators
Aug 29, 2025
eb0e817
Reland "Remove CreateModularPeerConnectionFactory from peer_connectio…
DanilChapovalov Aug 28, 2025
2b75d76
Expand SignalTrampoline to cover signal1..signal4
Aug 29, 2025
f941eb1
Revert "Bump to xcode 17 and 18_2 for simulators"
Aug 29, 2025
e2a20f3
Change Connection api to prefer strong time types in the api
DanilChapovalov Aug 29, 2025
624780b
Roll chromium_revision 20846f7ed6..37c5b1150a (1508215:1508338)
Aug 29, 2025
73aba0d
Ensures that TaskQueuePacedSender::SetPacingRates does not recursivel…
perkj Aug 29, 2025
3c9a550
clang-tidy: apply bugprone-argument-comment
fippo Aug 28, 2025
8fc13be
update VP9 references fuzzer
fippo Aug 29, 2025
02f0646
Roll chromium_revision 37c5b1150a..2fad7eec0f (1508338:1508499)
Aug 29, 2025
a81f50d
Implement remembering HeaderExtensionsToNegotiate
Aug 29, 2025
b12e03f
Roll chromium_revision 2fad7eec0f..6a8ff23671 (1508499:1508684)
Aug 30, 2025
ee35d40
register callback list to a sigslot candidate ready signal in Port ct…
Aug 28, 2025
1efbd0c
Update WebRTC code version (2025-08-30T04:03:30).
Aug 30, 2025
1ff10c8
constexpr-ify some tests
fippo Aug 18, 2025
85b2527
L4S: implement ccfbMessagesReceived stats
fippo Aug 29, 2025
620b3a2
Roll chromium_revision 6a8ff23671..44e568247c (1508684:1508796)
Aug 30, 2025
5fe9252
Roll chromium_revision 44e568247c..1364fc40b0 (1508796:1508899)
Aug 31, 2025
3de01cf
Update WebRTC code version (2025-09-01T04:04:22).
Sep 1, 2025
166e656
Add checks to track down flake
Aug 31, 2025
d110b78
Add test for renegotiation if CCFB has been negotiated
perkj Sep 1, 2025
24c9f61
Fix integer division issue in AGC2 limiter interpolation
Aug 27, 2025
e30e9ad
Delete deprecated variant of the AudioEncoder::EnableAudioNetworkAdaptor
DanilChapovalov Aug 28, 2025
be8699e
Roll chromium_revision 1364fc40b0..d52d1a5ab8 (1508899:1509028)
Sep 1, 2025
efe93a0
Avoid logging duplicate timestamps in CrossMediaMetricsReporter
Sep 1, 2025
16b12af
Propagate clock into BasicIceController
DanilChapovalov Sep 1, 2025
db1e438
Remove deprecated constructor from CrossMediaMetricsReporter
Sep 1, 2025
fefd399
Propagate clock into StunRequest
DanilChapovalov Sep 1, 2025
745d8f1
Add sigslot trampolines for IceTransportInternal
Sep 1, 2025
fd331a8
Replace calls to TimeMillis with Clock in video_capture_unittest
Sep 1, 2025
5dded01
Propagate content name to ports at construction time, add sanity checks
Aug 31, 2025
ff10018
Roll chromium_revision d52d1a5ab8..8cc2538023 (1509028:1509129)
Sep 1, 2025
f969370
Upgrade protobuf version to fix perf tests.
Sep 1, 2025
c4bf158
Reland "Bump to xcode 17 and 18_2 for simulators"
Aug 29, 2025
d314bf1
Use AVAudioSessionCategoryOptionAllowBluetoothHFP for newer ios/xcode…
Sep 1, 2025
0bac8c3
Revert "Propagate clock into BasicIceController"
DanilChapovalov Sep 1, 2025
a5e91cc
Force trybots to compile when modifying mb files.
Sep 1, 2025
2f553bf
Add a default constructor for MockIceController
DanilChapovalov Sep 1, 2025
71dfd3b
[M141] Revert "Propagate content name to ports at construction time, …
Sep 1, 2025
bc7452c
[M141] Do not hide inbound-rtp if media is received.
henbos Sep 10, 2025
d2eaa55
[M141] Add logging while creating {Window|Screen}Capturer
palak8669 Oct 7, 2025
83a77d4
Merge commit 'd2eaa5570fc9959f8dbde32912a16366b8ee75f4' into feature/…
sf-jed-kyung Oct 16, 2025
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
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
---
Checks: '-*,
bugprone-argument-comment
llvm-namespace-comment,
modernize-use-designated-initializers,
modernize-use-override,
modernize-use-std-numbers,
readability-container-size-empty,
readability-static-definition-in-anonymous-namespace,
readability-redundant-smartptr-get,
readability-redundant-declaration'
# readability-static-accessed-through-instance is generally useful but produces too many false positives.
CheckOptions:
# The default threshold gives false positives in test data
modernize-use-std-numbers.DiffThreshold: 0.00001
...
4 changes: 2 additions & 2 deletions .gn
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ default_args = {
ios_deployment_target = "14.0"

# The SDK API level, in contrast, is set by build/android/AndroidManifest.xml.
android_ndk_api_level = 21
android_ndk_api_level = 23

# WebRTC does not provide the gflags dependency. Because libyuv uses it only
# for unittests, it can be disabled (see third_party/libyuv/BUILD.gn)
Expand All @@ -66,7 +66,7 @@ default_args = {
gtest_enable_absl_printers = true

# Differently from Chromium, WebRTC still support SDK 21.
default_min_sdk_version = 21
default_min_sdk_version = 23

# Prevent jsoncpp to pass -Wno-deprecated-declarations to users
jsoncpp_no_deprecated_declarations = false
Expand Down
2 changes: 1 addition & 1 deletion .vpython3
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ wheel: <
>
wheel: <
name: "infra/python/wheels/protobuf-py3"
version: "version:6.31.0"
version: "version:6.32.0"
>
wheel: <
name: "infra/python/wheels/requests-py3"
Expand Down
5 changes: 5 additions & 0 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,10 @@ config("common_config") {
defines += [ "WEBRTC_EXCLUDE_AUDIO_PROCESSING_MODULE" ]
}

if (rtc_video_psnr) {
defines += [ "WEBRTC_ENCODER_PSNR_STATS" ]
}

if (is_clang) {
cflags += [
"-Wshadow",
Expand Down Expand Up @@ -660,6 +664,7 @@ if (rtc_include_tests && !build_with_chromium) {
"rtc_base:rtc_numerics_unittests",
"rtc_base:rtc_operations_chain_unittests",
"rtc_base:rtc_task_queue_unittests",
"rtc_base:sigslot_trampoline_unittest",
"rtc_base:sigslot_unittest",
"rtc_base:task_queue_stdlib_unittest",
"rtc_base:untyped_function_unittest",
Expand Down
321 changes: 155 additions & 166 deletions DEPS

Large diffs are not rendered by default.

26 changes: 12 additions & 14 deletions api/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,20 @@ rtc_library("enable_media_with_defaults") {
]
}

rtc_source_set("create_modular_peer_connection_factory") {
rtc_library("create_modular_peer_connection_factory") {
visibility = [ "*" ]
allow_poison = [ "environment_construction" ]
sources = [ "create_modular_peer_connection_factory.h" ]
sources = [
"create_modular_peer_connection_factory.cc",
"create_modular_peer_connection_factory.h",
]
deps = [
":libjingle_peerconnection_api",
":scoped_refptr",
":sequence_checker",
"../pc:peer_connection_factory",
"../pc:peer_connection_factory_proxy",
"../rtc_base:threading",
"../rtc_base/system:rtc_export",
"../stats:rtc_stats",
]
Expand Down Expand Up @@ -233,6 +239,7 @@ rtc_source_set("ice_transport_interface") {
":ref_count",
":rtc_error",
":scoped_refptr",
"environment",
"rtc_event_log",
]
}
Expand Down Expand Up @@ -289,17 +296,6 @@ rtc_library("rtp_sender_interface") {
]
}

# TODO: bugs.webrtc.org/42220069 - Remove when downstream has been updated
# to depend on `create_modular_peer_connection_factory` instead.
rtc_source_set("create_modular_peer_connection_factory_internal") {
visibility = [ ":libjingle_peerconnection_api" ]
sources = [ "create_modular_peer_connection_factory_internal.h" ]
deps = [
":scoped_refptr",
"../rtc_base/system:rtc_export",
]
}

rtc_library("libjingle_peerconnection_api") {
visibility = [ "*" ]
cflags = []
Expand Down Expand Up @@ -340,7 +336,6 @@ rtc_library("libjingle_peerconnection_api") {
":async_dns_resolver",
":audio_options_api",
":candidate",
":create_modular_peer_connection_factory_internal",
":data_channel_event_observer_interface",
":dtls_transport_interface",
":fec_controller_api",
Expand Down Expand Up @@ -1653,6 +1648,9 @@ if (rtc_include_tests) {
"video:rtp_video_frame_assembler_unittests",
"video:video_frame",
"video:video_frame_metadata_unittest",
"video/corruption_detection:frame_instrumentation_data_reader_unittest",
"video/corruption_detection:frame_instrumentation_data_unittest",
"video/corruption_detection:frame_instrumentation_evaluation_unittest",
"//third_party/abseil-cpp/absl/functional:any_invocable",
"//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/strings:string_view",
Expand Down
26 changes: 12 additions & 14 deletions api/async_dns_resolver.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,18 @@ namespace webrtc {
// The AsyncDnsResolverInterface class encapsulates a single name query.
//
// Usage:
// std::unique_ptr<AsyncDnsResolverInterface> resolver =
// factory->Create(address-to-be-resolved, [r = resolver.get()]() {
// if (r->result.GetResolvedAddress(AF_INET, &addr) {
// // success
// } else {
// // failure
// error = r->result().GetError();
// }
// // Release resolver.
// resolver_list.erase(std::remove_if(resolver_list.begin(),
// resolver_list.end(),
// [](refptr) { refptr.get() == r; });
// });
// resolver_list.push_back(std::move(resolver));
// std::unique_ptr<AsyncDnsResolverInterface> resolver =
// factory->Create(address-to-be-resolved, [r = resolver.get()]() {
// if (r->result.GetResolvedAddress(AF_INET, &addr) {
// // success
// } else {
// // failure
// error = r->result().GetError();
// }
// // Release resolver.
// std::erase_if(resolver_list, [](refptr) { refptr.get() == r; });
// });
// resolver_list.push_back(std::move(resolver));

class AsyncDnsResolverResult {
public:
Expand Down
4 changes: 2 additions & 2 deletions api/audio_codecs/audio_decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ class OldStyleEncodedFrame final : public AudioDecoder::EncodedAudioFrame {
decoded.size() * sizeof(int16_t), decoded.data(), &speech_type);
return ret < 0 ? std::nullopt
: std::optional<DecodeResult>(
{static_cast<size_t>(ret), speech_type});
{.num_decoded_samples = static_cast<size_t>(ret),
.speech_type = speech_type});
}

private:
Expand Down Expand Up @@ -174,5 +175,4 @@ AudioDecoder::SpeechType AudioDecoder::ConvertSpeechType(int16_t type) {
}
}

constexpr int AudioDecoder::kMaxNumberOfChannels;
} // namespace webrtc
7 changes: 2 additions & 5 deletions api/audio_codecs/audio_encoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
#include <cstdint>
#include <memory>
#include <optional>
#include <string>

#include "absl/strings/string_view.h"
#include "api/array_view.h"
#include "api/call/bitrate_allocation.h"
#include "rtc_base/buffer.h"
Expand Down Expand Up @@ -82,9 +82,7 @@ AudioEncoder::ReclaimContainedEncoders() {
return nullptr;
}

bool AudioEncoder::EnableAudioNetworkAdaptor(
const std::string& /* config_string */,
RtcEventLog* /* event_log */) {
bool AudioEncoder::EnableAudioNetworkAdaptor(absl::string_view /*config*/) {
return false;
}

Expand Down Expand Up @@ -122,5 +120,4 @@ ANAStats AudioEncoder::GetANAStats() const {
return ANAStats();
}

constexpr int AudioEncoder::kMaxNumberOfChannels;
} // namespace webrtc
7 changes: 2 additions & 5 deletions api/audio_codecs/audio_encoder.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@

#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>

#include "absl/base/attributes.h"
#include "absl/strings/string_view.h"
#include "api/array_view.h"
#include "api/audio/audio_view.h"
#include "api/call/bitrate_allocation.h"
Expand All @@ -30,8 +30,6 @@

namespace webrtc {

class RtcEventLog;

// Statistics related to Audio Network Adaptation.
struct ANAStats {
ANAStats();
Expand Down Expand Up @@ -201,8 +199,7 @@ class AudioEncoder {
virtual ArrayView<std::unique_ptr<AudioEncoder>> ReclaimContainedEncoders();

// Enables audio network adaptor. Returns true if successful.
virtual bool EnableAudioNetworkAdaptor(const std::string& config_string,
RtcEventLog* event_log);
virtual bool EnableAudioNetworkAdaptor(absl::string_view config);

// Disables audio network adaptor.
virtual void DisableAudioNetworkAdaptor();
Expand Down
4 changes: 0 additions & 4 deletions api/audio_codecs/opus/audio_encoder_opus_config.cc
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,6 @@ constexpr int kDefaultLowRateComplexity =

} // namespace

constexpr int AudioEncoderOpusConfig::kDefaultFrameSizeMs;
constexpr int AudioEncoderOpusConfig::kMinBitrateBps;
constexpr int AudioEncoderOpusConfig::kMaxBitrateBps;

AudioEncoderOpusConfig::AudioEncoderOpusConfig()
: frame_size_ms(kDefaultFrameSizeMs),
sample_rate_hz(48000),
Expand Down
2 changes: 1 addition & 1 deletion api/call/bitrate_allocation.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ struct BitrateAllocationUpdate {
double packet_loss_ratio = 0;
// Predicted round trip time.
TimeDelta round_trip_time = TimeDelta::PlusInfinity();
// `bwe_period` is deprecated, use `stable_target_bitrate` allocation instead.
// `bwe_period` is deprecated.
TimeDelta bwe_period = TimeDelta::PlusInfinity();
// Congestion window pushback bitrate reduction fraction. Used in
// VideoStreamEncoder to reduce the bitrate by the given fraction
Expand Down
8 changes: 6 additions & 2 deletions api/candidate.h
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,12 @@ class RTC_EXPORT Candidate {
void set_tcptype(absl::string_view tcptype) { Assign(tcptype_, tcptype); }

// The name of the transport channel of this candidate.
// TODO(phoglund): remove.
const std::string& transport_name() const { return transport_name_; }
// TODO(bugs.webrtc.org/42233526): remove.
[[deprecated("Use IceCandidate::sdp_mid")]]
const std::string& transport_name() const {
return transport_name_;
}
[[deprecated("Use the IceCandidate type for sdp_mid")]]
void set_transport_name(absl::string_view transport_name) {
Assign(transport_name_, transport_name);
}
Expand Down
46 changes: 46 additions & 0 deletions api/create_modular_peer_connection_factory.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*
* Copyright 2025 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/

#include "api/create_modular_peer_connection_factory.h"

#include <utility>

#include "api/peer_connection_interface.h"
#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
#include "pc/peer_connection_factory.h"
#include "pc/peer_connection_factory_proxy.h"
#include "rtc_base/thread.h"

namespace webrtc {

scoped_refptr<PeerConnectionFactoryInterface>
CreateModularPeerConnectionFactory(
PeerConnectionFactoryDependencies dependencies) {
// The PeerConnectionFactory must be created on the signaling thread.
if (dependencies.signaling_thread &&
!dependencies.signaling_thread->IsCurrent()) {
return dependencies.signaling_thread->BlockingCall([&dependencies] {
return CreateModularPeerConnectionFactory(std::move(dependencies));
});
}

auto pc_factory = PeerConnectionFactory::Create(std::move(dependencies));
if (!pc_factory) {
return nullptr;
}
// Verify that the invocation and the initialization ended up agreeing on the
// thread.
RTC_DCHECK_RUN_ON(pc_factory->signaling_thread());
return PeerConnectionFactoryProxy::Create(
pc_factory->signaling_thread(), pc_factory->worker_thread(), pc_factory);
}

} // namespace webrtc
39 changes: 0 additions & 39 deletions api/create_modular_peer_connection_factory_internal.h

This file was deleted.

1 change: 1 addition & 0 deletions api/crypto/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ rtc_library("options") {
"../../rtc_base:checks",
"../../rtc_base:ssl_adapter",
"../../rtc_base/system:rtc_export",
"//third_party/abseil-cpp/absl/algorithm:container",
]
}

Expand Down
Loading