PSA: WebRTC M83 Release Notes

4,664 views
Skip to first unread message

Anatoli Davidson

unread,
Apr 23, 2020, 6:13:34 AM4/23/20
to discuss...@googlegroups.com

WebRTC M83 Release Notes


WebRTC M83 branch (cut at r30987)

Summary


WebRTC M83, currently available in Chrome's beta channel, contains over 10 new features and over 35 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.


Also see the Chromium blog post about Chrome 83 beta release which includes several WebRTC features.

PSAs

Flag to test removal of DTLS 1.0

In accordance with the removal of support for DTLS 1.0, we are providing a command line flag to let users test the effect that removing DTLS 1.0 support from WebRTC will have on their service. No modern service should be affected.

The flag is --force-fieldtrials="WebRTC-LegacyTlsProtocols/Disabled/"

See the PSA for more details.

New restrictions to ice-ufrag and ice-pwd syntax

Starting in M81 the accepted syntax for ICE ufrag/pwd fields has been tightened to match the grammar defined in the ICE spec. Please see this PSA sent to discuss-webrtc for more details. To help some deployed services comply with the new restrictions, some additional characters are being temporarily allowed -- see the PSA for more details.

Features

Insertable Streams Origin Trial

Insertable streams is an experimental feature available as an origin trial that allows Web applications to apply custom processing to the data flowing through a WebRTC peer connection. It aims to support adding end-to-end encryption to applications that transmit audio/video data through an intermediate server. Read more in the explainer. Registration for the origin trial can be found here

RTCPeerConnection.canTrickleIceCandidates

You can now tell whether or not a remote site supports trickling ICE candidates. This is interesting in some interoperability scenarios.

RTCRtpEncodingParameters.maxFramerate

This encoding parameter allows developers to limit the framerate on a video layer before sending. Use RTCRtpSender.setParameters() to set the new framerate, which takes effect after the current picture is complete. read it back using RTCRtpEncodingParameters.maxFramerate. Setting maxFramerate to 0 freezes the video on the next frame.

RTCRtpSendParameters.degradationPreference

A new attribute for RTCRtpSendParameters called degradationPreference allows developers to control how quality degrades when constraints such as bandwidth or CPU prevent encoding at the configured frame rate and resolution. For example, on a screen share app, users will probably prefer screen legibility over animations. On a video conference users likely prefer a smooth frame rate over a higher resolution. Valid values for degradationPreference are "maintain-framerate", "maintain-resolution", and "balanced".

Deprecations


Issue

Description

Component

10164

Refactor/remove VideoSender

Video

Features and Bugfixes


Type

Issue

Description

Component

Feature

11360

Target bitrate config option added for the iSAC audio codec

Audio

Feature

11325

Upgrade opus to 1.3

Audio

Feature

708484

RTCPeerConnection does not implement canTrickleIceCandidates

Blink>WebRTC

Feature

1052765

Implement WebRTC Insertable Streams

Blink>WebRTC>PeerConnection

Feature

1061376

Add histogram of SW fallbacks in VideoDecoderSoftwareFallbackWrapper

Blink>WebRTC>Video

Feature

1052352

Enable Feature kWebRtcUseMinMaxVEADimensions on CrOS

Blink>WebRTC>Video

Feature

11354

Allow setting an absolute max allocation probe bandwidth by config.

BWE

Feature

10542

Add the possibility to limit the delay based bandwidth estimator to increase

Network

Feature

11416

Add configurability for always sending MID/RID (even after RTCP SR/RR ack)

Network>RTP

Feature

11367

Ship GenericFrameDescriptor00 by default.

PeerConnection

Feature

10547

Make VideoBitrateAllocatorFactory injectable per PeerConnection

PeerConnection

Feature

11164

Implement RtpParameters::degradation_preference

SpecConformance, Video

Bug

11361

AEC3: A vector traversal is done using copies instead of references, causing heap allocations

Audio

Bug

11441

The processed output in AECdump recordings is broken for integer samples

Audio

Bug

11332

Only audio codecs named "Opus" get bandwidth updates

Audio,BWE

Bug

1038754

ice-tcp might be (ab)usable for portscanning if getStats() counts bytesSent

Blink>WebRTC

Bug

1053756

Deployed software uses ufrag/password characters not allowed by spec

Blink>WebRTC

Bug

1053756

Deployed software uses ufrag/password characters not allowed by spec

Blink>WebRTC

Bug

1052086

[M81 merge] AEC3: A vector traversal is done using copies instead of references, causing heap allocations

Blink>WebRTC>Audio

Bug

1044521

standalone ice transport allows CRLF in username fragment

Blink>WebRTC>Network

Bug

1044521

standalone ice transport allows CRLF in username fragment

Blink>WebRTC>Network

Bug

1032987

SLD(outgoingOffer) followed by SRD(incomingOffer) throws "Failed to setup RTCP mux"

Blink>WebRTC>PeerConnection

Bug

1065836

webrtc insertable streams: does not work for streams from responder to initiator

Blink>WebRTC>PeerConnection

Bug

1029737

RTCRtpReceiver.getCapabilities() returns encoder capabilites

Blink>WebRTC>Video

Bug

11427

All audio encoders must provide an implementation of the AudioEncoder::GetFrameLengthRange() function.

BWE

Bug

11359

Transport overhead is sometimes not included in BWE

BWE

Bug

10939

usrsctp library doesn't send in unordered mode

DataChannel

Bug

11370

DesktopCapturer interface is not pure-virtual

DesktopCapture

Bug

11335

Move documentation of RTP header extensions to source repo

Documentation

Bug

11386

sctp_transport.cc:OnSctpInboundPacket ppid endian transform is wrong

Network

Bug

11423

Peer reflexive TCP candidates missing tcptype.

Network>ICE

Bug

9063

STUN implementation doesn't honor "comprehension-required" attributes (0x0000 to 0x7FFF)

Network>ICE

Bug

11470

RTCPReceiver superfluous clock checks

Network>RTP

Bug

10385

PeerConnection fails to match RTP streams if there is no a=ssrc line with CNAME attribute

PeerConnection

Bug

5658

Missing DSCP support on POSIX platforms

PeerConnection

Bug

10701

Show in API that cricket::SessionDescription takes ownership of cricket::MediaDescription

PeerConnection

Bug

11467

PacketSocketFactory object passed to CreatePeerConnection is incorrectly destroyed

PeerConnection

Bug

4728

kIceGatheringStateComplete when PeerConnection is closed, even if gathering never started

PeerConnection

Bug

11439

[Stats] Merge RTX and non-RTX webrtc::VideoSendStream::StreamStats to unblock simulcast stats

Stats

Bug

11440

[Stats] retransmittedBytesSent ignores retransmissions over RTX

Stats

Bug

11439

[Stats] Merge RTX and non-RTX webrtc::VideoSendStream::StreamStats to unblock simulcast stats

Stats

Bug

11393

Implement VideoStreamAdapter

Video

Bug

11396

Quality scaler is disabled when it shouldn't be

Video

Bug

11476

Padding amount is calculated differently for VP9

Video

Bug

11341

Implement injectable video encoder selctor.

Video

Bug

11373

Add memory usage constraint to DefaultVideoQualityAnalyzer

Video

Bug

11407

Potential deadlock in quality codecs

Video

Bug

11477

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

Video


Craig Falls

unread,
May 25, 2020, 4:35:01 AM5/25/20
to discuss-webrtc
M83 seems to have introduced a new segfault bug.  To reproduce, create a room at meet.jitsi.com and have a second person join the room.  This doesn't occur in M81.

Philipp Hancke

unread,
May 25, 2020, 4:40:36 AM5/25/20
to discuss...@googlegroups.com
can you file a bug via chrome://crashes?

--

---
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/64865d54-e8f1-4b16-8446-819215149691%40googlegroups.com.

Kyle Foley

unread,
May 25, 2020, 4:28:54 PM5/25/20
to discuss-webrtc

That link to Jitsi is not correct, it tries to have you install crapware. This is the correct link to Jitsi https://meet.jit.si/

Craig Falls

unread,
May 26, 2020, 1:19:37 PM5/26/20
to discuss...@googlegroups.com
Done.

You received this message because you are subscribed to a topic in the Google Groups "discuss-webrtc" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/discuss-webrtc/EieMDYtQ9sg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/CADxkKiLZo8LT9RZ2gON5_XukhbMv9GrrqwPeGC6oge_aPEZhOA%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages