Release notes for WebRTC in Chromium M152

18 views
Skip to first unread message

Fredrik Solenberg

unread,
Jul 28, 2026, 4:20:02 AM (20 hours ago) Jul 28
to discuss-webrtc

WebRTC Changelog M152 (7922..7977)

This release contains 83 commits by 29 authors.

Summary (AI-generated)

  • API & SDK Improvements: Introduced CreateOutgoingAudioFrame and GetRtpTimestampInfo() in TransformableFrameInterface. Exposed RTCCertificate.getFingerprints() on Android/iOS and preferGcmCryptoSuites in Android SDK. Continued migration to JNI Zero's DEFINE_JNI(). Removed deprecated rtc_media_base and rtc_stats build targets.
  • Transport & Congestion Control: Enhanced SCReAM congestion controller algorithms (cwnd pushback, pacing rate adjustments). Removed legacy bwe_period estimators. Improved PacketBuffer with unwrapped RTP sequence number tracking for H.264 frame assembly and added size limits during video frame packetization. Added fingerprint support to ICE candidates.
  • Audio & Video Engine: Added support for delayed initialization in ML residual echo estimation. VP9 now forces keyframes across all streams when requested. Enabled PSNR calculation by default with 1s intervals. Refactored video timing components to //video/timing. Fixed YUV/I420 black frame handling in desktop capture.
  • Security & Robustness: Hardened dcSCTP state cookie handling against tampering. Fixed double to int64_t overflow in saturated_cast. Added EGL surface detachment flag-guard on release.
  • Infrastructure & Network Detection: Added Tailscale interface detection as VPN. Added zstd build dependency and Rust Crubit interop support. Consolidated iOS XCTest main into rtc_test().

Categories

CategoryChanges
API2
Audio3
General58
Infrastructure7
Security2
Stats1
Transport7
Video3

Detailed List of Changes (newest first)

Change DescriptionCategoryLinksBug
Detect Tailscale interfaces as VPNGeneral📝 🔍chromium:474435503
Fix saturated_cast double to int64_t conversion near overflowSecurity📝 🔍webrtc:42220971
Add zstd as a build dependency.Infrastructure📝 🔍None
Use unwrappred RTP sequence numbers in PacketBufferTransport📝 🔍chromium:537233963
In PacketBuffer use helper to find packet slot in the bufferTransport📝 🔍chromium:537233963
Split unittest rtc_libraries under modulesGeneral📝 🔍webrtc:498394143
WebRTC: Finish setting up for the migration to JNI Zero's DEFINE_JNI()General📝 🔍chromium:481689330
SCReAM: Add cwnd pushback calculation to ScreamNetworkControllerGeneral📝 🔍webrtc:447037083
ScreamV2: Add pacing_rate_received_factor parameter and floor pacing rateGeneral📝 🔍webrtc:447037083
Don't have test library depending on audio_processing_unittests.Infrastructure📝 🔍webrtc:498394143
Check RTP sequence number order when assembling H264 frame in PacketBufferTransport📝 🔍chromium:537233963
Tune rtp_frame_reference_finder_fuzzer to create valid VP8 headersVideo📝 🔍chromium:533920878
LogScreamSimulation: Log state periodically on packet sentGeneral📝 🔍None
Remove InvokeWithoutArgsGeneral📝 🔍None
Switch mac testers from Max15 x64 to Mac26 arm64General📝 🔍None
Add desktop_capture_unittests and desktop_capture_modules_tests rtc_test_suite.General📝 🔍None
Make DtlsTransport disconnect from IceTransport in destructorGeneral📝 🔍b/533192689
Limit size of a video frame when packetizing itTransport📝 🔍chromium:503013378
Add DEFINE_JNI() to WebRTC open sourceGeneral📝 🔍chromium:481689330
Make WebRTC-Video-CalculatePsnr default on with 1s interval.General📝 🔍webrtc:388070060
Always report pacer queue size in ProcessIntervalGeneral📝 🔍webrtc:447037083
Remove InvokeWithoutArgs.General📝 🔍None
ssl: move OpenSSLAdapter::SSLInfoCallback to openssl_utіlity.hGeneral📝 🔍webrtc:339300437
Add //build_overrides/crubit.gniGeneral📝 🔍None
Add safety comments to unsafe blocksGeneral📝 🔍chromium:497856781
Fix rust link issue on windows.General📝 🔍None
Remove returns from InvokeWithoutArgs's callbacks.General📝 🔍None
Add #{LAST_RESORT_SUGGESTION} to my entry in OWNERS filesInfrastructure📝 🔍None
ML residual echo estimation: support delayed initializationGeneral📝 🔍webrtc:442444736
Add a capture test suite for Mac and one for Windows.General📝 🔍None
sdk: expose RTCCertificate.getFingerprints() on AndroidGeneral📝 🔍webrtc:528992529
build: consolidate the iOS XCTest main() into rtc_test()Infrastructure📝 🔍webrtc:467294026
Remove deprecated config option.General📝 🔍webrtc:42221435
Add flag-guard for EGL surface detachment on releaseGeneral📝 🔍webrtc:533784841
[WebRTC] Migrate more Legacy Natives to Proxy NativesGeneral📝 🔍chromium:40253109
Clean up WebRTC-Pacer-KeyframeFlushing trial.General📝 🔍webrtc:42221435
dcsctp: Limit the effect of state cookie tamperingSecurity📝 🔍webrtc:522976080
Fix incorrect spatial id handling wrt frame metadata handler.General📝 🔍webrtc:42225300
Refactor FrameInstrumentationGenerator to handle missing VideoFrames.General📝 🔍webrtc:358039777
Allow repeat frames a first frame in EncoderSpeedController.General📝 🔍webrtc:443906251
Keyframe request on any stream forces keyframes on all streams in VP9Video📝 🔍webrtc:527515375b/527798266
Cleanup expired field trial WebRTC-DefaultBitrateLimitsKillSwitchGeneral📝 🔍b/493520221
Guard RtpFrameRefernceFinder from large temporal layer valuesGeneral📝 🔍chromium:530708503
Fix -Wpointer-bool-conversion warning in FunctionViewGeneral📝 🔍chromium:531796076
Cleanup unused and expired RtcpLossNotification field trialGeneral📝 🔍webrtc:42220379b/493520221
Remove PowerPoint fullscreen heuristic control methodInfrastructure📝 🔍chromium:409473386
ICE Candidate supports fingerprintTransport📝 🔍webrtc:459337369
Update recommended TODO format to latest recommendationsGeneral📝 🔍None
Deprecate GetTimestamp in TransformableFrameInterface.General📝 🔍webrtc:526671875
Add OnContinuousTemporalUnits to VideoJitterTimingInterface.General📝 🔍b/493549134
Enable non-sender RTT from negotiated rcvr-rtt; report video RTTAudio📝 🔍webrtc:516205747
sdp munging: detect rejection by mungingGeneral📝 🔍webrtc:414284082
Validate that H.264 resolutions are spec compliant.General📝 🔍chromium:504690157
Remove magjed as ownerGeneral📝 🔍webrtc:526259549
Remove outdated DCHECKGeneral📝 🔍chromium:525087041
Propagate transport overhead via BitrateAllocationUpdateTransport📝 🔍webrtc:461532446
Prevent superframes with out-of-order spatial ids.General📝 🔍webrtc:529105373
desktop_capture: Fix SetFrameDataToBlack() to correctly support YUV/I420 blackGeneral📝 🔍webrtc:518064225
Switch mac bots to use Mac-15 again.General📝 🔍None
Change MediaTypeToString to return absl::string_viewGeneral📝 🔍None
Move video timing worker objects to `//video/timing`.Video📝 🔍b/493549134
sdk: drop no-op copy attribute from readonly objc propertiesGeneral📝 🔍None
sdp munging: detect removal of ice-optionsTransport📝 🔍webrtc:414284082
Validate per-channel buffer sizes when parsing debug dumpsGeneral📝 🔍b:510361949
Reset prior ChannelSendFrameTransformerDelegate on re-assignmentGeneral📝 🔍b:510386389
sdk: expose RTCCertificate.getFingerprints() on iOSGeneral📝 🔍webrtc:528992529
api: Add H.265 support to EncodedFrame::CopyCodecSpecificGeneral📝 🔍b/523234169
Attempt to deflake CcFbSendRateAdaptation testsGeneral📝 🔍None
Use GetTimestamp in encoded frame clone functions.General📝 🔍chromium:524901718
Remove NetworkEstimate::bwe_period and estimatorsGeneral📝 🔍webrtc:442860748
Remove bwe_period from BitrateAllocationUpdateGeneral📝 🔍webrtc:442860748
Remove use of bwe_period from audioAudio📝 🔍webrtc:442860748
Deprecate AudioEncoder::OnReceivedUplinkBandwidthGeneral📝 🔍webrtc:442860748
Remove the deprecated rtc_media_base build target.API📝 🔍webrtc:42225070
Update methods in VCMTiming to use VideoJitterTimingInterface structs.General📝 🔍b/493549134
Remove the deprecated target rtc_stats.Stats📝 🔍webrtc:42226139
[owners] Remove ste...@webrtc.org from test/OWNERSInfrastructure📝 🔍webrtc:483056241
Remove hta from OWNERS filesInfrastructure📝 🔍None
Remove expired RestrictedCandidates metricsGeneral📝 🔍chromium:516482235chromium:461500632
Add CreateOutgoingAudioFrame.Audio📝 🔍chromium:524901718
Introduce GetRtpTimestampInfo() in TransformableFrameInterface.API📝 🔍chromium:524901718
Fix ios bot no capacity errorGeneral📝 🔍None
CryptoOptions: expose preferGcmCryptoSuites in Android SDKGeneral📝 🔍webrtc:42221827
Reply all
Reply to author
Forward
0 new messages