PSA: WebRTC M61 Release Notes

3,822 views
Skip to first unread message

Anatoli Davidson

unread,
Aug 29, 2017, 9:23:36 AM8/29/17
to discuss...@googlegroups.com

M61

WebRTC M61 branch (cut at r19063)

Summary

WebRTC M61, currently available in Chrome's beta channel and as native libraries for Android and iOS, contains over 10 new features and over 40 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.

Important PSAs

getUserMedia from cross-origin iframes to be deprecated in Chrome M63

In order to continue to use getUserMedia from cross-origin iframes, the parent document will need to explicitly allow camera and/or microphone access to the iframe using a Feature Policy, e.g.,:

<iframe src="https://example.com" allow="microphone camera"></iframe>

A console deprecation warning is included in Chrome M61 which will notify developers when attempts are made to use these features from cross-origin iframes. More details on the change can be found here.

webrtc/call.h removed from webrtc/

As part of a longer term effort all header files will be removed from the webrtc/ root folder. This release moves call.h into webrtc/call/ making it clearer that clients should not depend on it if they wish to maintain compatibility,

Spec-compliant audio constraints for getUserMedia in Chrome M61

Chrome M61 includes support for spec-compliant processing of audio constraints in getUserMedia. This means that the ideal keyword and naked values are properly supported and advanced constraint sets are applied atomically, that is, all constraints in a particular advanced set are applied if possible, otherwise the whole advanced set is ignored.


Features

Video Capture Service

On Windows, Mac OS, and Linux, interactions with video capture devices such as webcams are now offloaded to a utility process. This effort is part of our activities to deliver enterprise-grade reliability in Chrome. If an issue with a capture device driver causes an unrecoverable error, only the video stream is now stopped instead of in the worst-case causing the whole Browser to terminate. For more details, see this design doc.

<audio> elements now render audio without waiting for [optional] video frames

Using an <audio> tag to render media streams that also have video tracks, will no longer result in audio having to wait for video. This is a behavioural change for <audio> elements while <video> behaviour remains unchanged.


Features and Bugfixes

Chrome


Type

Issue

Description

Component

Feature

584797

Mojo based video capture

Video

Feature

7404

Move aecdump file IO from real-time audio thread to low-prio task queue

Audio

Feature

7775

Allow an externally created audio processing module to be used inside WebRTC

Audio

Feature

728866

chooseDesktopMedia: customize the order of the picker tabs.

Blink>GetUserMedia>Desktop

Feature

619625

captureStream() from <video> and <audio> element

Blink>MediaStream>CaptureFromElement

Feature

7732

Reduce runtime memory consumption of RtcEventLog

Internals

Feature

7856

Upgrade to libsrtp 2.1.0. Fixes some issues related to GCM ciphers, which are only used if enabled via a command line flag (“enable-webrtc-srtp-aes-gcm") in chromium.

Network

Feature

7969

API for automatically regathering ICE candidates periodically

Network>ICE

Feature

7982

Implement RTCMediaStreamTrackStats totalAudioEnergy and totalSamplesDuration members

PeerConnection

Feature

538077

Add "copy all" button in chrome://media-internals

Blink>WebRTC>Audio, Internals>Media

Feature

578628

Add RSID-based demuxing to RtpDemuxer

Network

Feature

CL

Use 2 threads for 360P video

Video

Bug

7930

Echo canceller 3 sometimes leaks echo on low level speech onsets

Audio

Bug

754159

Muting send audio may cause loud distortion

Blink>WebRTC>Audio

Bug

732552

Handle zero timestamp in RTCVideoEncoder timestamp matching

Blink>WebRTC>Video

Bug

716558

webrtc player stops displaying video or wont start stream

Blink>WebRTC>Video

Bug

721597

Call from chrome 58 to ios Spark client leads to no Media

Blink>WebRTC>Video

Bug

7725

New unsignaled video stream overwrites old previously unsignaled video stream

Network, Video

Bug

7980

Potential decoder corruptions with VP8 screenshare mode temporal layers

Video

Bug

7937

PacketBuffer::DiscardOldPackets() in NetEq wrongly implemented

Audio

Bug

7911

The echo canceller 3 is too restrictive in the API call jitter it allows

Audio

Bug

7955

The adaptive filter in the echo canceller 3 is adapting too fastly

Audio

Bug

7956

The echo canceller 3 needs to adaptively adjust the echo suppression when the linear model poorly models the room

Audio

Bug

7957

The echo canceller 3 sometimes applies echo suppression to residual echoes which would not be audible

Audio

Bug

7967

The echo canceller 3 leaks echoes when there are strong narrowband components in the render signal

Audio

Bug

7971

The echo canceller 3 sometimes leaks echoes initially in the calls before the conversation has started

Audio

Bug

7910

The echo canceller 3 detection of analog AGC level changes does not work on platforms with no mic gain

Audio

Bug

7776

Cascaded echo cancellers

Audio

Bug

7519

AEC3 improvements

Audio

Bug

7905

RTCP timestamp unwrapping should be handled more gracefully

Audio

Bug

671436

OSX: cursor error when starting window capture on a external monitor

Blink>GetUserMedia>Desktop

Bug

734094

nominated flag not set on candidate-pair

Blink>WebRTC>Network

Bug

7731

RtcEventLogParser not backwards compatible with old logs

BWE

Bug

7866

Immediate overuse if probing finds the true link capacity

BWE

Bug

7884

Delay based BWE not reacting to overuse before acknowledged bitrate has been measured

BWE

Bug

7949

Reported sent bitrate calculated with a slight error.

BWE

Bug

6958

Chrome sometimes suddenly stops sending

DesktopCapture

Bug

7809

ScreenCapturerWinDirectx::IsSupported() cannot work in session 0

DesktopCapture

Bug

7908

MessageQueueManager does not support re-entrant calls

Internals

Bug

7887

Limit the number of concurrent WebRTC event logs

Internals

Bug

7716

Can't unset ignore_non_default_routes

Network

Bug

7798

ICE doesn't work in environments where network interfaces can be enumerated, but not bound to.

Network>ICE

Bug

7858

Empty RTCP XR TargetBitrate should be parseable, but we shouldn't send them.

Network>RTP

Bug

7859

Pacer exit timestamps in timing frames breaks FEC

Network>RTP, Video

Bug

7706

Valid SCTP SDP "proto" strings "UDP/DTLS/SCTP" and "TCP/DTLS/SCTP" are rejected.

PeerConnection

Bug

7375

simulcast: no video is sent in Chrome M57 when base resolution is 720x405

Video

Bug

7664

Periodically update encoder with current frame and bit rate

Video

Bug

737278

screen capturing color mismatch/blurring and unexpected screen/application exposure

Blink>GetUserMedia>Desktop

Bug

738379

<audio> elements now start rendering audio without waiting for potential video data.

Video frames might never arrive.
Waiting is considered appropriate for a <video> tag, but not for <audio>.

Blink>Media>Audio

Blink>WebRTC

Bug

7939

The code to handle downstream dependencies when using an external audio processing module needs to be removed

Audio


Native Android/iOS


Type

Issue

Description

Component

Feature

7696

Add observer for AVAudioSession outputVolume

Audio (iOS)

Feature

7662

QP parser for VP9 bitstream

HardwareCodec, Video (Android)

Feature

7581

Add RTCFileVideoCapturer to WebRTC ios framework

Mobile (iOS, Mac)

Feature

CL

Enable VP9 denoiser for standalone WebRTC

Video

Bug

7753

SSL connection to TURN server broken when underlying socket becomes blocked (only affects native apps)

Network

Bug

7846

iOS: "AVFoundation" framework import missing in RTCCameraVideoCapturer

Build, Mobile (iOS)

Bug

7782

AppRTCMobile(macOS) does not display video on non-Metal enabled devices

Mobile

Bug

7777

Bugfix:setting capture framerate always defaults to 30fps.

Mobile (iOS)

Bug

7751

RTCNSGLVideoView should not reshape without current context

Mobile (iOS)



陈银态

unread,
Sep 13, 2017, 2:37:03 AM9/13/17
to discuss-webrtc
Hi,
Is aec3 adaptered for android?  when I set aec3 to true on android, I get very weak signal, It seems that the voicie be cancelled too.
在 2017年8月29日星期二 UTC+8下午9:23:36,Anatoli Davidson写道:

Eric M

unread,
Sep 25, 2017, 9:59:23 PM9/25/17
to discuss-webrtc
AEC3 just used for windows-PC, not for mobile

在 2017年9月13日星期三 UTC+8下午2:37:03,cytandly写道:
Reply all
Reply to author
Forward
0 new messages