PSA: WebRTC M71 Release Notes

3,166 views
Skip to first unread message

Anatoli Davidson

unread,
Oct 30, 2018, 4:51:46 AM10/30/18
to discuss...@googlegroups.com

WebRTC M71 Release Notes


WebRTC M71 branch (cut at r25118)

Summary


WebRTC M71, currently available in Chrome's beta channel and as native libraries for Android and iOS, contains 20 new features and over 45 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 weekly basis and are available on JCenter and CocoaPods; the Changelog is available here.

PSAs

Unified Plan M71 Experiment; M72 Target - Applications May Break! Please Update Your Code.

“Unified Plan” is the standards compliant SDP format, which in many cases is incompatible with the current “Plan B” SDP format. Switching the default behavior to Unified Plan is a breaking change. Firefox is already using Unified Plan, and Safari Technology Preview has a flag for it. An experiment is currently running that make Chrome Canary/Dev clients change the default on startup with high probability.


The target for rolling out Unified Plan is M72. Developers need to test their applications, they may need to be updated or explicitly set the desired SDP format with “sdpSemantics”. For more information, including links to transition guides, see the PSA for the Chrome change and this PSA for the native transition guide.

Deprecations

Removing C++ interfaces webrtc::EchoCancellation and webrtc::EchoControlMobile

Functionality in those interfaces is partly deprecated, partly moved into the webrtc::AudioProcessing::Config.


Moving the AEC configuration into webrtc::AudioProcessing::Config simplifies the interface for clients. Additionally, these interfaces hinder internal refactoring of the audio processing module.


Any client that uses these interfaces will need to update their code as detailed in the PSA, with the exception that custom AECs (implementing webrtc::EchoControl) will continue overriding the config enable/disable flag for now.

Adding numberOfSimulcastStreams to Java VideoEncoder.Settings constructor

A new parameter numberOfSimulcastStreams has been added to the constructor of Java VideoEncoder.Settings and the old constructor has been removed. More details in the bug.


Issue

Description

Component

9689

Remove the intelligibility enhancer in APM.

Audio

Features and Bugfixes


Type

Issue

Description

Component

Feature

880075

Add blink::UserMediaClient::IsCapturing

Blink>GetUserMedia

Feature

9848

Expose a parameter for setting a lower bound for the packet loss rate in Opus encoder.

Audio

Feature

888971

Log if audio service or process are used

Blink>WebRTC>Audio

Feature

895741

Show AudioService information to chrome://media-internals

Blink>WebRTC>Audio

Feature

9142

Build and publish macOS framework

Build

Feature

8415

Integrate and test WebRTC-adapted BBR.

BWE

Feature

8968

Enable round robin packet queue by default.

Network, Video

Feature

9680

Support attaching RTP extensions differently to the first packet of a video frame layer

Network>RTP

Feature

9823

Video bitrate allocations with new layer structure should be signaled as soon as possible

Network>RTP

Feature

9711

Add field trial for disabling the frame dropper

Video

Feature

8288

Implement round-robin sending in PacedSender

Video

Feature

9809

Make libvpx into an interface inside vp8 encoder wrapper for easier testing

Video

Feature

9803

Add 'number of video freezes per minute' metric

Video

Feature

9632

Update multiplex encoder to support having augmenting data attached to the video

Video

Feature

8136

Get rid of kVideoCodecUnknown

Cleanup

Feature

9346

Field trial parser

BWE

Feature

9582

Add picture_id to generic RTP packetizer format.

Video

Feature

9829

Enable multithreading in libvpx VP9 decoder

Video

Feature

9669

Move VP9 frame rate controller to separate class

Video

Feature

9682

VP9 SVC: control frame rate per spatial layer

Video

Bug

9816

Incorrect filter alignment causing echo leakage

Audio

Bug

9694

AEC3: Allow controlled usage of the shadow filter output

Audio

Bug

890040

[Video Capture Service] Uninitialized field error when using service from ChromeOS

Blink>GetUserMedia>Webcam

Bug

879451

AEC3: Allow controlled usage of the shadow filter output

Blink>WebRTC>Audio

Bug

9811

API level check for ConnectivityManager.getActiveNetwork

Network

Bug

9828

Freeze metric should be based on render time and not decode time

Video

Bug

9761

Simulcast screenshare at high bitrate/low resolution might caused encoder init to fail

Video

Bug

9745

screenshare layers (vp8) might incorrectly adjust max qp setting

Video

Bug

9734

Potential bad performance with simulcast screensharing

Video

Bug

9715

VP9 SVC sent resolution is reported per-layer.

Video

Bug

9740

VP9 enc wrapper doesn't not account for VideoCodec::maxFramerate

Video

Bug

9776

Too much fading when the linear filter has already converged

Audio

Bug

9697

Poor speech quality at the beginning of the call under stationary noises at the render signal.

Audio

Bug

9685

Echo leaks when the limits for the ERLE estimator are increased

Audio

Bug

9805

Echo leaks when the preamplifier gain changes

Audio

Bug

9762

Echo leaks at volume decreases in AEC3

Audio

Bug

9773

AEC3: Delay estimator saturation detection is overly cautious

Audio

Bug

9741

AEC3: Bug in the transition between main and shadow filter output

Audio

Bug

9746

AEC3: Bad transparency at low echo levels

Audio

Bug

9746

AEC3: Bad transparency at low echo levels

Audio

Bug

879264

[Video Capture Service] Support padded yuv frames for virtual devices

Blink>GetUserMedia>Webcam

Bug

892043

Gain too high in WebRTC adaptive digital gain controller 2

Blink>WebRTC>Audio

Bug

878319

TSan reports a data race in webrtc::RtpVideoStreamReceiver::OnRtpPacket

Blink>WebRTC>Network

Bug

883888

webrtc: sdpSemantics: unified-plan breaks onaddstream

Blink>WebRTC>PeerConnection

Bug

884164

2.4%-15.6% regression in webrtc_perf_tests at 24671:24674

Blink>WebRTC>Video

Bug

9812

Log spam when remote sequence number starts high.

BWE

Bug

9703

Desktop capture frame can have corrupted data when using multiple screens

DesktopCapture

Bug

9856

The logic in rtc::Buffer::OnMovedFrom is backwards w.r.t. RTC_DCHECK_IS_ON

Internals

Bug

9684

PhysicalSocketServer should use monotonic time for timeouts

Internals

Bug

9802

Update rtc_json JSON parsing utility code

Internals

Bug

9112

Memory contention by threads in PeerConnection when invoking methods of PortAllocator

Network, PeerConnection

Bug

9839

SRTP decryptor logs several errors every second if the received packets can't be decrypted.

Network>DTLS

Bug

9832

AudioTransport::NeedMorePlayData not exposing NTP value

Network>RTP

Bug

9770

GetSources() for VideoRtpReceiver

Network>RTP, PeerConnection

Bug

9712

webrtcsdp.cc::HasAttribute() only matches beginning of line

PeerConnection

Bug

7600

RTCRtpTransceiver API

SpecConformance

Bug

9674

getStats: mediaType was renamed to kind

Stats

Bug

9785

Add num_temporal_layers to RtpEncodingParameters struct.

Video

Bug

9597

Add support for RtpEncodingParameters max_framerate.

Video

Bug

9791

Temporal dependencies used in layers checker could be tightened for the 2 TL case

Video

Bug

9747

SimulcastEncoderAdapter is initially setting all streams to active

Video

Bug

9782

Low spatial layer frame is marked as non-reference when number of activated layers is < max layers

Video

Bug

882789

AEC3: Bug in the transition between main and shadow filter output

Blink>WebRTC>Audio

Bug

883264

AEC3: Bad transparency at low echo levels

Blink>WebRTC>Audio

Bug

9634

Keyframes may be dropped by vp8 encoder

Video

Bug

cl 103983

Use zeros for rtp packet padding

Network>RTP


Reply all
Reply to author
Forward
0 new messages