WebRTC M81 Release Notes
WebRTC M81 branch (cut at r30432)
Summary
WebRTC M81, currently available in Chrome's beta channel, contains 3 new features and over 20 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.
PSAs
Device IDs are not exposed by enumerateDevices if permission to use devices has not been granted
Prior to Chrome M81, the result returned by the enumerateDevices Web API contained device IDs for all devices in the system even if permissions were not granted. Starting with Chrome M81, if no permission to use devices has been granted the result of enumerateDevices will now contain at most one entry for each device type, and the deviceId field will be empty. This change may affect some existing applications, but it should be straightforward to adapt to it with minimal changes to applications. The purpose of this change is to improve user privacy and to align with the latest version of the specification. More details at https://crbug.com/1019176.
Deprecations
Issue | Description | Component |
11316 | Remove iceRegatherIntervalRange | Network>ICE |
11165 | Remove legacy desktop echo canceller code (see PSA). | Audio |
Features and Bugfixes
Type | Issue | Description | Component |
Feature | 11218 | Signal requested resolution alignment requirements from sinks to sources | Video |
Feature | 1037703 | Do not expose IDs in enumerateDevices when permissions were not granted. | Blink>GetUserMedia |
Feature | 1040584 | Signal “onclosing” event for Datachannel | Datachannel |
Bug | 11257 | Don't pace audio by default | Audio |
Bug | 11180 | A user-defined copy constructor is needed for the config struct in AudioProcessing | Audio |
Bug | 11193 | The pre-amplifier gain is applied before the high-pass filter | Audio |
Bug | 11197 | Potential object allocation in real-time code for the PushResampler | Audio |
Bug | 11241 | Unnecessary overhead in reporting of statistics/metrics in APM | Audio |
Bug | 11235 | Harmonize AudioProcessing::ProcessStream implementations (AudioFrame and StreamConfig) | Audio |
Bug | 11278 | Log spam from RenderDelayBufferImpl | Audio |
Bug | 11278 | Log spam from RenderDelayBufferImpl | Audio |
Bug | 11196 | Padding may not be taking account by bandwidth estimation | BWE, Network>RTP |
Bug | 11015 | Disabled by bw layers and streams should be counted as bw limited quality in GetStats | GetUserMedia, Video |
Bug | CL | Add rtc::Thread::PostDelayedTask | Internals |
Bug | 11259 | libevent TaskQueue can drop tasks under high load | Internals |
Bug | 8876 | TaskQueue::PostTask may silently drop tasks | Internals |
Bug | 11081 | [M71] Assertion in CoreAudio when microphone access is disabled system-wide in Windows 10 Desktop | Mic |
Bug | 11317 | [Stats] fecPackets[Received/Discarded] are missing from RTCInboundRtpStreamStats::Members() | Stats |
Bug | 10173 | [PATCH] RTCStatsReport::ToJson does not put ',' between elements | Stats |
Bug | 11297 | GetNormalSimulcastLayers can return # TLs == 0 | Video |
Bug | 11265 | a=fmtp parameters are not propagated to codec level | Video |
Bug | 699036 | WebRTC: dont fire events from pc.close | WebRTC |