PSA: WebRTC M87 Release Notes

3,221 views
Skip to first unread message

Huib Kleinhout

unread,
Nov 6, 2020, 5:45:56 AM11/6/20
to discuss...@googlegroups.com

WebRTC M87 Release Notes


WebRTC M87 branch (cut at r75b9ab6751f3f49bbdd0a260fcbcbc8135dd567a)

Summary


WebRTC M87, currently available in Chrome's beta channel, contains 2 new features and over 30 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


Early Warning: RTP Datachannels are going away

As of M88 (next version), use of RTP datachannels will cause a deprecation warning. We expect to remove them altogether in M90. Use SCTP-based datachannels instead.
More info in the PSA.


Features


Perfect Negotiation

Perfect Negotiation is a recommended pattern to handle SDP negotiations in a way that abstracts this task away from the rest of the application. It allows both endpoints to operate on their peer connection simultaneously and has changes “automatically” being negotiated without risk of glare. This is achieved by listening to the onnegotiationneeded event and having “polite” and “impolite” roles assigned. This pattern is now supported in M87 after timing-related issues in the RTCPeerConnection APIs were resolved. For more information, see PSA.


Stopping transceivers

Transceivers now have a new function called “stop”. Once called, all usage of that transceiver for sending and receiving will cease, and an offer/answer cycle will remove it from the list of transceivers.

The media section in SDP can then be reused for other purposes. See the spec for more information.

This feature is available behind a flag in M87, and will be generally available in M88.


Deprecations



Issue

Description

Component

5876

Deleted top-level header file common_types.h

Build,Video


Features and Bugfixes


Type

Issue

Description

Component

Bug

1060083

Queue onnegotitationneeded when operation chain is empty

Blink>WebRTC>PeerConnection

Bug

1115080

WebRTC PeerConnection.iceGatheringState doesn't return to "new" when all transports are gone

Blink>WebRTC>PeerConnection

Bug

1116430

Wire up webrtc SinkWants to chrome capturers

Blink>WebRTC,Internals>Media>Capture

Bug

1127625

on chrome 86+ SetLocalDescription fails with "Failed to set local offer sdp: Unknown transceiver"

Blink>WebRTC

Bug

949112

Variable framerate VP8 screenshare experiment

Blink>WebRTC>Video

Bug

980879

"Stopping" and "stopped" transceivers

Blink>WebRTC>PeerConnection

Bug

10147

Sort out threading conventions for VideoSourceInterface

Video

Bug

10232

The AEC3 transparency is poor initially in the call when headsets are used

Audio

Feature

10273

ExtraICEPing experiment

Internals

Bug

10795

Video encoder fallback.

Video

Bug

11222

Refactor VideoSendStream to allow other resource adaptation modules

Video

Bug

11477

Early media of SSRC signaled on another "m= section" leads to no video

Video

Bug

11567

Refactor webrtc to use a non-recursive CriticalSection

Internals

Bug

11622

NetEq statistics are reset when new getStats() is called

Audio

Feature

11769

Add new parameter for H.264

Video

Feature

11802

DTMF event sub-API on VoIP API

Audio

Bug

11843

[ResourceAdaptation] Qp scaler resource should be removed when the qp scaling is disabled

Video

Bug

11864

Calling AudioDeviceWindowsCore::InitPlayout() aborts due to locking the mutex twice

Audio

Bug

11867

[Adaptation] Remove adaptation queue

Video

Feature

11872

Make requested_resolution_alignment apply to downscaled layers

Video

Bug

11894

WebRTC’s audio video sync can go into unbounded loop and keep increasing audio delay for the period no audio packets are flowing in.

Audio,Video

Feature

11898

Add field trial to control initial decoder resolution


Bug

11908

Large amounts of CPU time spent in Thread::ClearInternal when sending a lot of small messages

Internals

Feature

11916

Add NV12 VideoFrameBuffer Implementation

Video

Bug

11923

MediaStream proxy can bypass Invoke for id()


Bug

11924

Add field trials to control additional quality scaler settings

Video

Bug

11957

sps-pps-idr-in-keyframe fmtp parameter does not work in latest libwebrtc/Chromium

PeerConnection

Bug

11968

Disabled logging levels still have side effects

Internals

Bug

11974

Add NV12 Support for VP9

Video

Bug

11978

Add NV12 as a frame type that FrameGenerators can generate

Video




Reply all
Reply to author
Forward
0 new messages