WebRTC M65 Release Notes
WebRTC M65 branch (cut at r21637)
WebRTC M65, currently available in Chrome's beta channel and as native libraries for Android and iOS, contains 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.
The identifiers used for WebRTC stats returned by getStats() are supposed to be opaque values, but have been constant for a long time. Some have changed in this version. See this PSA for details.
Currently, the H.264 codec on Android is only enabled with hardware H.264 encoders. Some third party peers only expect ConstrainedBaseLine during negotiation to be able to decode H.264 streams from Chrome on Android. In order to ensure better interoperability with those, Chrome on Android is now advising ConstrainedBaseLine in SDP exchanging. See this bug for details.
Garbage collection of PeerConnections in Chrome is implemented so that only closed PeerConnections are garbage collected (see this PSA for details). To prevent hitting the limit on number of PeerConnections, we introduced a hard limit of 500 on the number of PeerConnections that can be created in one process.
This allows you to seamlessly change which track is being sent without having to renegotiate at the expense of another offer/answer cycle. For example, you might want to switch which video to send or to temporarily not send video, without any disruption in audio or at the cost of an RTT delay. See this issue for details.
A long time ago we announced that the legacy VoiceEngine API would be removed. At the time it seemed a good idea to replace it with a public API at the same level, however we’ve subsequently changed our view. In order to maintain velocity when restructuring internals, we wish the API surface towards library clients to be as small as possible. Hence, the only currently supported API is PeerConnection. See PRESUBMIT.py for details on supported APIs. Removing the legacy VoiceEngine has eliminated two native threads which were spawned per PeerConnectionFactory, as well as reduced binary size and code complexity.
This feature was removed from the standard in 2013 and users should use the standard-conformant HTMLMediaElement.srcObject instead. It’s supported by all UAs, unlike URL.createObjectURL() and is even easier to use correctly, as lots of users will never revoke the URLs they create.
Issue | Description | Component |
Remove unused WebRTC event logging API | Blink>WebRTC>Tools | |
Deprecate URL.createObjectURL() for MediaStreams | Blink>GetUserMedia | |
Remove DefaultAudioProcessingFactory | Audio, Mobile | |
Remove iOS 8 specific code | Cleanup | |
VoE API Refactoring | Audio | |
PeerConnection constraints | PeerConnection | |
aec_quality_min removed from the stats | Audio |
Type | Issue | Description | Component |
Feature | Fuchsia: port WebRTC and its dependencies | Blink>WebRTC | |
Feature | Add traces for timestamp and delay estimation in audio playback/capture pipeline | Blink>WebRTC>Audio | |
Feature | RTCRtpSender.replaceTrack | Blink>WebRTC>PeerConnection | |
Feature | Add relevant metrics for AEC3 | Audio | |
Feature | Make the echo detector injectable | Audio | |
Feature | Move libjingle_peerconnection implementations in webrtc/api out of there | Build, Internals | |
Feature | Replace duplicate enums with SdpType | PeerConnection | |
Feature | It should be possible to change the volume of a fake audio device in the middle of a call test. | Audio | |
Feature | Replace duplicate enums with RtpTransceiverDirection | PeerConnection | |
Feature | VoE API Refactoring Tracking Bug | Audio | |
Bug | Decoupling between the AEC3 alignment buffer and the rest of the buffers causes poor performance | Audio | |
Bug | The render delay buffer scheme in AEC3 may cause the AEC to end up in a noncausal state | Audio | |
Bug | The transparency of the AEC3 has decreased since M63 | Audio | |
Bug | A variable in the render delay buffer may be undefined | Audio | |
Bug | The transparency of the AEC3 has decreased since M63 | Blink>WebRTC>Audio | |
Bug | The coupling render delay buffer scheme in AEC3 may cause end up in a noncausal state | Blink>WebRTC>Audio | |
Bug | The WebRTC echo canceller (AEC2) is sensitive to incorrect the timestamps that are reported on Chrome OS. | Blink>WebRTC>Audio | |
Bug | Decoupling between the AEC3 alignment buffer and the rest of the buffers causes poor performance | Blink>WebRTC>Audio | |
Bug | A variable in the AEC3 render delay buffer may be undefined | Blink>WebRTC>Audio | |
Bug | PeerConnection with Unified Plan semantics does not correctly signal tracks | PeerConnection | |
Bug | "Playing sound" alert stuck turned on for silent tab | Blink>WebRTC>Audio | |
Bug | The coupling render delay buffer scheme in AEC3 may cause end up in a noncausal state | Blink>WebRTC>Audio | |
Bug | Decoupling between the AEC3 alignment buffer and the rest of the buffers causes poor performance | Blink>WebRTC>Audio | |
Bug | A variable in the AEC3 render delay buffer may be undefined | Blink>WebRTC>Audio | |
Bug | Missing playout (recording from caller point of view) functionality for FileAudioDevice. | Audio | |
Bug | Frame length changes can cause increased target buffer level in NetEq | Audio | |
Bug | When there are issues with large API call jitter in AEC3 it should be known to the users | Audio | |
Bug | The adaptive filter in echo canceller 3 converges poorly in reverberant environments | Audio | |
Bug | Hardcoded behavior for the AEC3 adaptive filter | Audio | |
Bug | Saturated echoes may cause the adaptive filter in AEC3 to diverge | Audio | |
Bug | The adaptation speed in AEC3 is sometimes too slow initially | Audio | |
Bug | RemoteBitrateEstimatorAbsSendTime: check clock is a valid ref | BWE | |
Bug | Experiment with sparse checking for bandwidth overuse | BWE | |
Bug | On OSX the mouse is captured even if MouseCursorMonitor is null | DesktopCapture | |
Bug | STUN messages never stop after closing the connection | Network>ICE | |
Bug | ICE negotiation failing with ICE-lite implementation | Network>ICE | |
Bug | Remote ntp time estimation is way off sometimes. | Network>RTP | |
Bug | GetStats doesn't show streams/tracks that were added using AddTrack | PeerConnection, Stats | |
Bug | googBandwidthLimitedResolution stat is not always set depending on configuration. | Video | |
Bug | ForwardErrorCorrection can return empty FEC packets when there is no suitable packet masks | Video | |
Bug | H264 video corruption issue under packet lossy conditions | Video | |
Bug | WebRTC cannot decode an SPS with scaling lists | Video | |
Bug | Remove dependency on rtc::Event from rtc::Thread | Internals | |
Bug | RTCP Receiver Report not compliant with RFC 3550 | SpecConformance | |
Bug | Getting audio input channels fails on Mac - always falls back on stereo | Blink>WebRTC>Audio | |
Bug | Incorrect closest match audio input format on Windows | Blink>WebRTC>Audio | |
Bug | getStats() in combination with RTP Media API should work as expected | Blink>WebRTC>PeerConnection | |
Bug | ReadFloatSamplesFromStereoFile will read out of array bounds on some inputs | Audio | |
Bug | [Window Capturer] Checking whether window title is "Dock" on Mac OSX 10.12 or upper is not proper | DesktopCapture | |
Bug | GetSimulcastConfig - potentially harmful return | PeerConnection | |
Bug | RTCPeerConnectionHandler::DestructAllHandlers is unused | Blink>WebRTC>PeerConnection |
--
---
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 discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/e8568f3e-c4b5-40fd-a665-0e585e0cd07b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.