PSA: WebRTC M73 Release Notes

3215 views
Skip to first unread message

hu...@webrtc.org

unread,
Feb 26, 2019, 7:49:41 AM2/26/19
to discuss-webrtc

WebRTC M73 Release Notes


WebRTC M73 branch (cut at r26368)

Summary


WebRTC M73, currently available in Chrome's beta channel and as native libraries for Android and iOS, contains 3 new features, improved Web Standards support and many 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. Native libraries for Android and iOS are built on a weekly basis and are available on JCenter and CocoaPods; the Changelog is available here.

PSAs


mDNS for local ICE candidates

With this feature, host IPs will no longer directly be exposed by the RTCPeerConnection API, increasing privacy. Host candidates will only indirectly be exposed through a randomly generated mDNS hostname. Purpose and mechanisms used are described in this spec: https://tools.ietf.org/html/draft-ietf-rtcweb-mdns-ice-candidates-02

 

This feature is controlled by the feature flag -enable-webrtc-hide-local-ips-with-mdns. This feature is experimentally turned on for some users of Chrome Canary and available on the desktop versions of Chrome on Windows, MacOS and Linux. The expected effects on connectivity between two WebRTC agents are:

  1. WebRTC agents using this feature, running in the same private network, may no longer be able to communicate directly if they are not in the same mDNS broadcast domain.

  2. A WebRTC agent using this feature will still be able to communicate with other agents on the same private network when the other agent does not have this feature (implemented or enabled). In this case, the other agent would classify the obfuscated host candidates as peer-reflexive candidates.

  3. Connectivity using server-reflexive or relay candidates will be unaffected.

Server implementers who do not handle mDNS candidates should make sure they have STUN or TURN servers configured in order to have candidates available.


Please file a bug if you see that application code is affected.

Features


WebRTC 1.0 API

Media capture and streams

  • Implemented MediaStreamTrack.getSettings() for remote video tracks, including width, height, aspect ratio and frame rate (issue).

  • Implemented MediaStreamTrack.applyConstraints() for remote video tracks (issue).

  • Implemented support for getUserMedia() device constraints, namely channelCount, latency, sampleRate, sampleSize (issue).

  • MediaStreamTrack.getCapabilities() support for sampleSize (issue).

RTCPeerConnection

  • Shipped RTCRtpReceiver.getSynchronizationSources() (chromestatus), including audioLevel (issue).

  • RTCPeerConnection.iceConnectionState is now spec-compliant (issue).


Dynamic change of screenshare source

When sharing a tab through the desktopCapture API the user now has the option to change tab without stopping and starting the sharing sessions. The notification bar that earlier only could stop the sharing sessions now has a new option “Change Source”. This feature only works for tab sharing and switching to another tab. It is expected to become available for getDisplayMedia at a later point.


VP9 Profile 2 added to supported codecs

VP9 Profile 2 enables encoding and decoding of videos with 10-bit color depth. These extra color bits enable representing pixels in a wider range and increase color quality. VP9 Profile 2 is now added as a supported internal codec in WebRTC. In SDP, it can be indicated and negotiated with a “profile-id=2” field. In order to transport content with 10-bit depth, take a look at webrtc::I010BufferInterface interface.


Deprecations



Platform

Issue

Description

Component

Bug

7626

Remove VoiceEngine types from webrtc/common_types.h

Audio


Features and Bugfixes

Chrome


Type

Issue

Description

Component

Feature

10151

Let decoder know spatial index of top spatial layer frame

Video

Feature

10153

Make pacing buffer send interval configurable.


Feature

9076

Minor tweaks to VAD

Audio

Feature

9605

IP handling with mDNS

Network>ICE, PeerConnection

Feature

9376

Add VP9 Profile 2 to supported codecs

Video

Feature

9350

VP9 SVC: de/activate spatial layer

Video

Feature

10073

SDP serialization for rids

PeerConnection

Feature

10178

Handle reordered packets in NetEq

Audio

Feature

10070

Probe controller should cap all probes at max allocated bitrate

BWE

Feature

6303

Use ordered data structure for supported frame lengths

Audio

Feature

892201

Dynamic change of screenshare source

Blink>GetUserMedia>Desktop

Bug

10154

AEC3: Erle dump files not created

Audio

Bug

9584

Delete PacketTime structs

Internals

Bug

909784

Pointer position at the receiver of screenshare from chrome is different from screensharing sender from chrome

Internals>Media

Bug

911110

browser freezes when calling function chrome.desktopCapture.chooseDesktopMedia([window]) in chrome extension

Blink>GetUserMedia>Desktop

Bug

913430

WebRTC AGC2 VAD classification errors

Blink>WebRTC>Audio

Bug

10063

VP9 SVC bitrate limits are ignored if number of spatial layers was reduced to 1

Video

Bug

10149

Only VGA layer is decoded in VP9SVC_3SL_High test

Video

Bug

9972

Surface additional network events in RTCEventLog

Network>ICE, Stats

Bug

9540

sdpSemantics "unified-plan" rejects previously accepted answer lacking MID

PeerConnection

Bug

911862

Zooming in on Mac while Presenting causes strange behaviour

Blink>GetUserMedia>Desktop

Bug

905690

ICE candidate raddr not present when #enable-webrtc-hide-local-ips-with-mdns is enabled

Blink>WebRTC>Network

Bug

10049

VP9 flexible mode svc puts duplicate references sometimes

Video

Bug

921933

Null-dereference READ in webrtc::video_coding::DecodedFramesHistory::InsertDecoded


Bug

10105

Add Metrics to Measure The Delay Between First Frame Arrival And First Frame Decoded

Network>DTLS

Bug

927579

Standalone RTCIceTransport not included in the mDNS experiment.

Blink>WebRTC>Network

Bug

926158

Unable to enable AEC3 through chrome://flags

Blink>GetUserMedia>Mic, Blink>WebRTC>Audio

Bug

926042

WebRTC PeerConnection connectionState is set to "failed" initially

Blink>WebRTC>PeerConnection

Bug

920188

iceConnectionStates "disconnected" and "failed" no longer reported from peer connection.

Blink>WebRTC>PeerConnection

Bug

923190

New regression to change-source function during tab sharing

Blink>GetUserMedia>Desktop

Bug

917529

Display goes to sleep during sharing a tab

Blink>GetUserMedia>Desktop

Bug

916487

--auto-select-desktop-capture-source="Entire Screen" has stopped working on M73

Blink>GetUserMedia>Desktop, Internals>Media>ScreenCapture

Bug

911110

browser freezes when calling function chrome.desktopCapture.chooseDesktopMedia([window]) in chrome extension

Blink>GetUserMedia>Desktop

Bug

923330

Crash while on WebRTC call and sharing screen

Blink>WebRTC>Video

Bug

927027

Chrome_Linux: Crash Report - webrtc::VCMGenericEncoder::Encode

Blink>WebRTC>Video

Bug

10223

Refactor how some field trials are read

Blink>WebRTC>Video

Bug

10275

Toggling of retransmissions can lead to spurious mid-call probes

Blink>WebRTC>Video

Bug

10178

Handle reordered packets in NetEq

Blink>WebRTC>Audio

Other

9271

Cleanup use of VideoBitrateAllocation

Cleanup



Henrik Boström

unread,
Feb 26, 2019, 8:00:34 AM2/26/19
to discuss-webrtc
See also PSA for the iceConnectionState changes references above: https://groups.google.com/forum/#!topic/discuss-webrtc/yGdPT0aWKxg

Jonas Olsson

unread,
Mar 1, 2019, 7:06:13 AM3/1/19
to discuss-webrtc
The iceConnectionState changes have been delayed to M74.
Reply all
Reply to author
Forward
0 new messages