PSA: M54 WebRTC Release Notes

Skip to first unread message

Anatoli Davidson

Sep 13, 2016, 6:05:32 AM9/13/16


WebRTC M54 branch (cut at r13869)


Chrome M54, currently available in Chrome's beta channel, contains over 30 bug fixes, enhancements and stability 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.

With this release, we are starting to separate issues affecting Chrome and WebRTC native into different sections below. This is an effort to make the release notes more general for all of WebRTC across different platforms.

Important PSAs


Recording RTC Event Logs for multiple PeerConnections simultaneously

Previously only a single PeerConnection could be recorded in an RTC Event Log. Now, a separate event log will be created for each active PeerConnection. To prevent accidental logging from consuming too much storage, there is a limit of 5 log files, where each log file is capped to 60MB of storage. On Android these limits are 3 logfiles of at most 10MB.

Upgrade to Opus 1.1.3

This brings in ARM optimizations, support for spatial audio (first-order ambisonics) and bug fixes. More information available at

New screen share picker UI

This new UI separates three different screen sharing options in tabs: 1) sharing the complete screen, 2) sharing a specific window, 3) sharing a specific tab in Chrome (if enabled by chooseDesktopMedia). Tab sharing supports audio on all desktop platforms, including OSX and Linux, where sharing system audio isn’t supported. We will continue to evolve this UI within Chrome, including adoption of Material Design.

Setting UDP port ranges

This allows use of Chrome policies to limit the range of local UDP ports used by WebRTC. The policy name is "WebRtcUdpPortRange" and its value is a string containing the range (e.g. "10000-11999"). When M54 is released as stable, administrators can specify port ranges in a CPanel policy under Device Management > Chrome > Device Settings > Other.

iOS Video Performance Improvements

Performance has been significantly improved for native WebRTC iOS apps (i.e. non-Chrome) when using H.264. This has been achieved by capturing, encoding, decoding, and rendering directly from native iOS CVPixelBuffers instead of converting them to I420 frames in the main memory. On our iOS test device (iPhone6 Plus) for measuring power consumption this reduces the total power usage of a video call (including audio, network, screen, and everything else) by 18%.


Bugfixes and Features


  • Issue 611574 Remove extension-only limitation for H264

  • Issue 620665 New format for getUserMedia constraints for video resolution is not working correctly

  • Issue 635944 Regression: 'Share audio' option is missing in the new desktop capture picker UI in Chrome OS

  • Issue 637062 Playback after canvas record renders a black screen

  • Issue 640913 WebRTC googCurrentDelayMs shows too high values during DTX periods

  • Issue 633930 New audio rendering mixing strategy does not work correctly with setSinkId on Chrome 54+

  • Issue 342476 Use corp policy to set a range of UDP ports to be used by Chrome for WebRTC

  • Issue 6069 H264 enabled android AppRTC video streams are getting rotated (+90) on Chrome browsers v51 & v52 beta

  • Issue 643258 Incorrect string for screen share picker

  • Issue 6073 Transport feedback doesn't report all packets.

  • Issue 6103 Race in Call destruction sequence

  • Issue 2278483002 & Issue 2146513002 Improved audio tracing info on Mac

  • Issue 6033 x86 build for Android failed

  • Issue 6125 Too many open files error with ice host names on iOS

  • Issue 5898 IvfFileWriterTest tests flaky on Win32

  • Issue 4332 EndToEndTest.RestartingSendStreamPreservesRtpStatesWithRtx flaky

  • Issue 6068 Assert error in BasicPortAllocatorTest.TestEachInterfaceHasItsOwnTurnPorts

  • Issue 6070 Generated event log graphs by rtp_analyzer look strange.

  • Issue 6105 Unstable video bitrate in constrained BW situation

    • Improves the behavior on low bandwidth links (~less than 200 kbps) and avoids self-inflicted queuing and delay/bitrate oscillations. May have some negative effects on TCP fairness, so further tunings may be done in the future.

  • Issue 6155 PacedSender does not send audio if media_budget used up

  • Issue 5915 ICE Restart makes STUN binding requests with expired ufrag instead of new ufrag

  • Issue 951 confused arguments to TMMBRReceived()


  • Issue 2140573002 H264VideoToolboxEncoder: Add support for native handles

  • Issue 2271583003 Implement CVO for iOS capturer

  • Issue 2154243002 iOS: Add support for rendering native CVPixelBuffers directly

  • Issue 2258103003 iOS H264VideoToolBoxEncoder: Stop scaling native CVPixelBuffers

  • Issue 2176623002 iOS render: Handle frame rotation in OpenGL

  • Issue 2135953002 AVFoundationVideoCapturer: Output native frames instead of I420 frames

  • Issue 2177873003 Fix for iOS HW Encoder undershooting bitrate

  • Issue 6231 On iOS devices, the software noise suppressor is applied in cascade with the hardware noise suppressor

  • Issue 6321 Support more capture formats (up to 720p) on iOS.

  • Issue 6152 Audio testing features for Android AppRTC Demo.

  • Issue 6035 GN targets for Android AppRTC Demo.

  • Issue 6186 Support for arguments in stand-alone WebRTC tracing.

  • Issue 6174 Fixed component GN Android AppRTC build.


Eric M

Sep 13, 2016, 9:57:56 PM9/13/16
to discuss-webrtc
Good news, we will just try the new branch, : )

在 2016年9月13日星期二 UTC+8下午6:05:32,Anatoli Davidson写道:


Sep 19, 2016, 8:10:57 AM9/19/16
to discuss-webrtc
is this version not support iOS8?
I found it's crashed in iOS8 when call

peerConnection.senderWithKind(kRTCMediaStreamTrackKindAudio/kRTCMediaStreamTrackKindVideo, streamId: kStreamID);


在 2016年9月13日星期二 UTC+8下午6:05:32,Anatoli Davidson写道:



Peter Boström

Sep 19, 2016, 10:32:56 AM9/19/16
to discuss-webrtc
File a bug for it on with repro steps.


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
To view this discussion on the web visit
For more options, visit

Jason Piccinin

Dec 9, 2016, 5:09:16 AM12/9/16
to discuss-webrtc
Unsure if others have had a similar experience but I am finding since moving to m54 I am having issues with switching between feeds from 2 USB web cameras.

Key differences I can see in the console between the experience in 53 vs 54 is the sourceID is not being retrieved when I am switching cameras (see below). 53 doesn't miss a beat.

Is there something deprecated/changed in 54 in the recent webRTC updates that would be preventing this behaviour?

Thanks in advance


Dec 9, 2016, 7:58:59 AM12/9/16
to WebRTC-discuss
Chrome 55 is out, so perhaps that was fixed. Try it out.



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
To view this discussion on the web visit

Jason Piccinin

Dec 11, 2016, 10:44:07 PM12/11/16
to discuss-webrtc
Thanks for the idea but unfortunately the same problem.

Our guys are putting it down to a java library that worked previously looks to not be supported for some reason now; just unable to ascertain why. The only change atm is the version upgrade.


To unsubscribe from this group and stop receiving emails from it, send an email to
Reply all
Reply to author
0 new messages