PSA: WebRTC M89 Release Notes

9,156 views
Skip to first unread message

Huib Kleinhout

unread,
Feb 9, 2021, 11:29:29 AM2/9/21
to discuss...@googlegroups.com

WebRTC M89 Release Notes


WebRTC 4389 branch (cut at r7acc2d9fe3a6e3c4d8881d2bdfc9b8968a724cd5)

Summary


WebRTC M89, currently available in Chrome's beta channel, contains over 39 bug fixes, enhancements and stability/performance improvements. As with previous releases, we encourage all developers to run versions of Chrome on the Canary, Dev, and Beta channels frequently and quickly report any issues found. Please take a look at this page, for some pointers on how to file a good bug report. The help we have received has been invaluable! 


The Chrome release schedule can be found here.

PSAs


WebRTC's Plan B SDP semantics will be deprecated and removed

WebRTC 1.0 is now a W3C Recommendation (press release) with the standard SDP format, Unified Plan, being supported by all major browsers. This year it is time to deprecate and remove the non-standard Chromium SDP format, Plan B (intent thread). Timeline:

  • M89 (Stable in February, 2021): Deprecation warning is added in the developer console.

  • M93 (Stable in August, 2021): Plan B is removed, with the option to extend this deadline by opting-in to a Reverse Origin Trial.

  • M96 (Stable in January, 2022): The extended deadline ends and Plan B is removed for everybody.

In M88 and M89 performance improvements significantly reduce the CPU usage and invocation time of WebRTC negotiation methods which greatly benefits Unified Plan usage.


Usage of rtp payload types in the range [35-65] in webrtc.org/chrome

The range 96-127 of dynamic RTP payload types is exhausted. This requires special considerations for interoperability with older versions of Chrome. Read the PSA for details


a=extmap-allow-mixed will be offered by default

The SDP attribute extmap-allow-mixed has been supported since Chrome M71. However, the SDP negotiation in Chrome versions before M71 will fail if extmap-allow-mixed is offered. From Chrome M89

extmap-allow-mixed will be offered by default [3]. PSA



Deprecations




Platform

Issue

Description

Component

webrtc

6471

Delete the class RTPFragmentationHeader

Video


Features and Bugfixes

Chrome


Type

Issue

Description

Component

Feature

1146942

Upgrade pipewire from 0.2 to 0.3 for chromium/webrtc

Internals>Media>ScreenCapture

Bug

1152841

Browser hangs occasionally when closing share target picker

Internals>Media>ScreenCapture

Bug

1155459

Default STUN attribute length limit is too small

Blink>WebRTC>Network

Bug

943975

Surface max message size in RTCSctpTransport

Blink>WebRTC>PeerConnection

Feature

10439

Provide common interface for bitstream parsers

Video

Feature

10480

Improve RNN VAD efficiency and code quality

Audio

Bug

10675

support for logging raw rtp in text2pcap format

Network>RTP

Feature

10897

Add TURN_LOGGING_ID

Network>ICE,PeerConnection

Bug

11266

Outdated information about working with branches

Documentation

Bug

11767

[Stats] Reduce the number of blocking-invokes from 2 to 1.

Stats

Feature

12111

VoipVolumeControl interface for VoIP API

Audio

Bug

12148

AV1 active decode target mask is not set properly

Video

Bug

12167

AV1 packetizer sets mark bit on each spatial layer

Network>RTP

Bug

12181

transportId is missing from RTCCodecStats

Stats

Bug

12185

Incorrect range of GetLinearAecOutput output

Audio

Feature

12193

VoIP API result types and enforcement

Audio

Bug

12194

the range of dynamic rtp payload types is exhausted

PeerConnection

Bug

12204

fix broken video_replay threading

Tools

Bug

12215

SetLocalDescription/SetRemoteDescription calling CreateSessionDescription thrice.

PeerConnection

Bug

12216

Enable initial frame drop for one active simulcast stream

Video

Bug

12217

Robotic audio heard when the connection is using TLSv1.2

Audio,Network

Bug

12238

RTCPeerConnection Create function should return an error code

PeerConnection

Bug

12261

[Adaptation] Allow simulating being CPU limited for TestBed

Video

Bug

12265

AEC3: Linear filters can gradually diverge in long calls

Audio

Bug

12274

Libvpx VP9 codec wrapper is hard to test

Video

Bug

12297

VideoReceiveStream2: remove unneeded PostTask

Perf

Bug

12314

Organize ilbc #includes per style guide

Audio

Bug

12323

JsepSessionDescription::Clone() does not copy ICE candidates

PeerConnection

Bug

8133

OPUS stereo audio over RTP is muxed to mono

Audio

Bug

9424

SrtpTransport::OnWritableState incorrectly calculates writability

PeerConnection


aaba...@gmail.com

unread,
Feb 15, 2021, 8:47:29 PM2/15/21
to discuss-webrtc
As to Plan B deprecation, it's very sad that Issue 10208 is still  not  fixed.  The Unified Plan Chrome implementation still doesn't allow using of several (two) bundles in a RTCPeerConnection, so audio and video streams couldn't be separated by distinctive transport streams, as it works in Plan B for years.

Philipp Hancke

unread,
Feb 16, 2021, 2:26:19 AM2/16/21
to discuss...@googlegroups.com
that only works in plan-b because you're not bundling at all then (but do demultiplex based on ssrc)?

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/5075a952-a62d-4c36-b138-c192a6d98742n%40googlegroups.com.

aaba...@gmail.com

unread,
Feb 16, 2021, 12:27:46 PM2/16/21
to discuss-webrtc
I'm bundling them using two ICE candidate groups. Without BUNDLE keyword that has no effect in Plan B.
Reply all
Reply to author
Forward
0 new messages