PSA: WebRTC M76 Release Notes

4,746 views
Skip to first unread message

Chakri Munagala

unread,
Jul 1, 2019, 11:33:53 AM7/1/19
to discuss-webrtc

WebRTC M76 Release Notes


WebRTC M76 branch (cut at r28114)

Summary


WebRTC M76, currently available in Chrome's beta channel, contains 3 new features and over 50 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 Change-log is available here.


PSAs

More standardised getStats() metrics in M76

23 new metrics (18 in M76, 5 in M75) have been implemented in the promise-based getStats() API. This is a big push for standardized and publicly documented stats, which should unblock most applications from migrating away from the legacy callback-based getStats() API that is non-standard. See PSA for more details.


Features

Implemented RTCRtpTransceiver.setCodecPreferences()

This new feature allows developers to choose which codecs to negotiate for a call, possibly removing default codecs or changing their preferred order. This can also be used to disable RTX, RED or FEC codec entries.

Implemented RTCSctpTransport

This allows inspecting the state of the transport used for DataChannels.

Implemented RTCRtpSender.setStreams

This allows setting the MediaStreams that are associated with a sender's track.



Deprecations


Issue

Description

Component

10563

Deprecate UMA metrics WebRTC.Audio.{AecDelayAdjustmentMsSystemValue, AecDelayAdjustmentMsAgnosticValue}

Audio

10440

Delete StringRtpHeaderExtension

Network>RTP

10397

Eliminate use of WebRtcRTPHeader

Network>RTP


Features and Bugfixes


Type

Issue

Description

Component

Feature

10650

Add rtpTimestamp to contributing sources

Network>RTP

Feature

10579

Add FrameMarking RTP Header Extension support in H.264 receiver

Video

Feature

10542

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

Network

Feature

10495

Create superframe index header and append it to frame buffer

Video

Feature

10456

[standard stats] Implement stats for roundTripTime of RTP streams of kind video

Stats

Feature

10455

[standard stats] Implement stats for roundTripTime of RTP streams of kind audio

Stats

Feature

10453

[standard stats] Implement stats for resolution and framerate pre-encoding

Stats

Feature

10451

[standard stats] Implement stats for quality limitation: qualityLimitationReason

Stats

Feature

10450

[standard stats] Implement jitterBufferDelay and jitterBufferEmittedCount for video

Stats

Feature

10447

[standard stats] Implement counters for retransmitted bytes

Stats

Feature

10446

[standard stats] Implement stats for target encode bitrate

Stats

Feature

10444

[standard stats] Implement stats for error correction of RTP streams

Stats

Feature

10443

[standard stats] Implement stats for audible/silent concealed samples

Stats

Feature

10442

[standard stats] Implement stats for accelerating/decelerating playout speed

Stats

Feature

9934

Makes send packet information non optional for feedback reports.

BWE

Feature

9801

Split voe::Channel into send and receive classes for audio rtp transport.

Audio, Network>RTP

Feature

9777

Implement RTCRtpTransceiver::setCodecPreferences()

PeerConnection

Feature

9545

Implement most of RTCRemoteInboundRtpStreamStats

Stats

Feature

4612

SCTP SDP m-lines: Convert to sending new draft SDP spec

PeerConnection

Feature

10506

[standard stats] Implement stats for packet send-side delay

Stats

Feature

965994

Add RTP timestamp to RTCRtpReceiver::RTCRtpContributingSource

Blink>WebRTC>Network

Feature

930186

[Video Capture, Feature] Dynamic Screen Capture

Blink>WebRTC>Video

Feature

891556

Implement RTCRtpTransceiver.setCodecPreferences()

Blink>WebRTC>PeerConnection

Feature

878465

mDNS service for IP handling in WebRTC

Blink>WebRTC>Network

Feature

844386

Implement RTCRtpSender.setStreams()

Blink>WebRTC>PeerConnection

Feature

818643

Implement RTCSctpTransport

Blink>WebRTC>PeerConnection

Bug

10693

packetization mode should be checked when selecting H264 as send video codec

PeerConnection

Bug

936715

VP8 Decoder: Quality expectation and improvements for Accelerated Decoders in chromium

Blink>WebRTC>Video

Bug

10607

Make sure packets in the pacer queue are preserved

Network>RTP

Bug

10604

Potential overflow in sequence number map tracking loss vectors

Network>RTP

Bug

955416

Merge to M75: Write VP9 RTP SS on key frames of each independently coded spatial layer.

Blink>WebRTC>Video

Bug

10571

Potentially unnecessary scaling in LibvpxVp8Encoder::Encode()


Bug

10565

In sumulcast mode VP9 sender doesn't write scalability structure on key frames of high spatial layers

Video

Bug

10564

Duplicate calls to OnSentPacket() breaks ALR detection

BWE

Bug

10551

Incoming offer for simulcast does not generate video

PeerConnection

Bug

10546

The runtime-settings in aecdumps for the pre-amplifier gain cannot be overruled in audioproc_f

Audio

Bug

10543

Color space not parsed correctly on receiver side

Network>RTP

Bug

10462

Acknowledged bitrate estimate can get stuck at low bandwidth.


Bug

10460

Populate meta-information fields on VideoFrame from EncodedImage in one place

Video

Bug

943976

Surface max number of channels in SctpTransport interface

Blink>WebRTC>PeerConnection

Bug

943975

Surface max message size in RTCSctpTransport

Blink>WebRTC>PeerConnection

Bug

943972

Surface remote certificates in RtcDtlsTransport

Blink>WebRTC>PeerConnection

Bug

10373

CriticalSection doesn't play well with audio callback threads on MacOS

Audio, Internals

Bug

10368

RTT based backoff is not capped below.


Bug

10358

SCTP: Compute max message size and max channels correctly

DataChannel

Bug

10270

Clock implementation hides mutable behavior hidden under const.


Bug

10222

Bandwidth toggles between two estimates in StartUpPhase.

BWE

Bug

10533

The minimum comfort noise level in AEC3 is too high

Audio

Bug

8434

Excessive AEC suppression

Audio

Bug

6855

PeerConnectionInterface doesn't expose any useful error information

PeerConnection

Bug

9410

Need a way to add unstandardized stats for native applications

Stats

Bug

5948

rfc6184, rfc6185 sprop-parameter-sets

Video

Bug

9688

Simulcast streams will send one key frame on all spatial layers for each FIR with different SSRC

Video

Bug

4484

SDP parsing: addIceCandidate with candidate priority 0 is not rejected

Network

Bug

10643

Make unpack_aecdump unpack RuntimeSettings

Audio

Bug

10609

Let RuntimeSetting store either int or float

Audio

Bug

10608

Add RuntimeSetting for volume change

Audio

Bug

964332

MediaPicker: don't use TabbedPane when there's only one tab

Blink>GetUserMedia>Desktop

Bug

944731

Webcam.js Error: Webcam is not loaded yet

Blink>GetUserMedia>Webcam

Bug

868026

Unable to access microphone on Huawei Matebook X Pro

Blink>GetUserMedia>Mic

Bug

627793

MediaDeviceInfo object of kind videoinput is missing groupId

Blink>GetUserMedia

Bug

967231

Merge to M75: VP9 low-fps screen share fixes

Blink>WebRTC>Video

Bug

965483

addIceCandidate(new RTCIceCandidate({candidate, sdpMid})) no longer works

Blink>WebRTC>PeerConnection

Bug

963818

Distorted sound when using Web Audio API to mux audio sources in WebRTC on Mac

Blink>WebRTC

Bug

962860

Chrome uses obsolete format for SCTP data channels

Blink>WebRTC>PeerConnection

Bug

961269

Merge Request for [ Ensure that we always set values for min and max audio bitrate.]

Blink>WebRTC>Audio

Bug

960736

Unreasonable IO buffer size on Mac audio output when unplugging device

Blink>Media>Audio, Blink>WebRTC>Audio, Internals>Media>Audio

Bug

960161

Tab mirroring audio quality is significantly worse with audio service enabled on M75, 76

Blink>WebRTC>Audio, Internals>Cast>Streaming, Internals>Media>Audio, Internals>Media>Capture

Bug

959128

iceConnectionState not going past "checking" in M75

Blink>WebRTC

Bug

956634

Merge to M75: Expand UsagePattern and private IP address definition

Blink>WebRTC>Network

Bug

956525

Merge to M75: Parse color space only in last packet of key frame

Blink>WebRTC>Video

Bug

956472

Remove generic error from WebRTC event log collection

Blink>WebRTC>Tools

Bug

953512

Invoking getStats with an invalid second argument (such as errorCallback) is no longer equivalent to getStats(successCallback)

Blink>WebRTC

Bug

944451

WebRtcRemoteEventLogManager does not always upload over WiFi

Blink>WebRTC>Tools

Bug

740501

RTCPeerConnection.onnegotiationneeded can sometimes fire multiple times in a row

Blink>WebRTC>PeerConnection

Bug

962731

Microphone doesn't work

Blink>GetUserMedia>Mic, OS>Kernel>Camera, Platform>Apps>Hangouts

Bug

820961

Video feed from Brio 4K camera is flickering on Jaq device

Blink>GetUserMedia>Webcam, OS>Kernel>Camera



Reply all
Reply to author
Forward
0 new messages