Media/WebRTC/ReleaseNotes/52
Contents
Firefox 52 WebRTC/WebAudio Release Notes:
Full listing of all WebRTC & WebAudio bugs marked as Fixed in Firefox 52:
WebRTC bugs: Bugzilla search for WebRTC related bugs marked Fixed in Firefox 52
WebAudio bugs: Bugzilla search for WebAudio bugs marked Fixed in Firefox 52
Noteworthy Changes:
- IMPORTANT: The Screensharing whitelist is no longer needed to share your screen or windows. Please let us know if you find any problems!
- Much of this work was front-end, UX/UI changes, including support to let the UI know what streams are "scary" to share (see bug 1284910). See the meta bug 1127522 for all the work that went into this.
- Please read Jan-Ivar's blog post explaining the risks that users need to know about when sharing their screen or windows: https://blog.mozilla.org/webrtc/share-browser-windows-entire-screen-sites-trust/.
- The new UI permission dialog for screensharing links to a SUMO article which is currently identical to Jan-Ivar's post, but our SUMO team will be tailoring it to a less technical user before Fx 52 goes to Beta.
- Added DTMF support. See bug 1291715, bug 1291714, bug 1313406
- Make Pulse Audio a hard dependency on Linux so that we reduce the problems and maintenance associated with maintaining multiple audio backends. See bug 1247056.
- Renegotiation and track replacement were dropping the video resolution to CIF in previous releases. That is fixed by bug 1303279 and bug 1307507
- Added support for ICE disconnected connection state, by monitoring timeouts for ICE consent requests. See bug 852665
- Added mediaDevices.ondevicechange support to Windows and Linux and enabled it by default. See bug 1297337 and {{bug|1300468}. (NOTE: Support for Mac was added in Fx51, but it's not ready to be enabled by default).
- Almost all of the cubeb landings are to address issues with libcubeb on Mac and Windows or to improve debugging on future problems
- Implemented active/inactive state for MediaStreams and support for stopping all MediaStreamTracks. See bug 1208316 and bug 1301675, respectively.
- Implemented 2 updates to match updates to the Web Audio spec: one to use linear interpolation when computing SetValueCurveAtTime events (bug 1265401) and the other to support ConstantSourceNode (bug 1308432
- We fixed a lot of our WebRTCintermittent failures (too many to list here, but they are all listed below), but we believe this will make the product more stable for users
Bug tickets fixed in Firefox 52 that affect WebRTC or Web Audio (full list):
Audio/Video:Cubeb :
bug 1247056 Require PulseAudio to play sound on Linux
bug 1286041 1,700 instances of "data callback fires before cubeb_stream_start() is called" emitted from dom/media/AudioStream.cpp during linux64 debug testing
bug 1301648 Add a pref to be able to control the AudioCallbackDriver requested latency
bug 1306570 Cherry-pick cubeb revision 6ae23a63
bug 1307724 Cherry-pick cubeb revision 50d92c
bug 1311340 Wire cubeb log to MOZ_LOG
bug 1311346 Update cubeb to revision 9eacd
bug 1311911 1.5 second delay on Logitech c920 microphone in OSX (regression)
bug 1312684 Cubeb logging logs odd integer values
bug 1314085 Change cubeb MOZ_LOG error level
bug 1314316 Update cubeb from upstream to 352c0bed012
bug 1314496 Uplift libcubeb allocator mismatch fixes
bug 1315495 Uplift WASAPI leak fix from PR 183
bug 1315928 Update cubeb from upstream to f8467510a8b
Audio/Video:GMP (Gecko Media Plugin):
bug 1279612 Near permafailing mda tests on Win7 debug on beta in test_webvtt_disabled.html | application crashed [@ mozalloc_abort(char const * const)]
bug 1300654 Remove MOZ_EME build option and make EME disabled by preferences.
bug 1302881 Undefined behavior in GeckoMediaPluginServiceParent::RemoveOnGMPThread()
bug 1309171 Reduce an unnecessary copy by using universal reference
bug 1312540 PContent::Msg_GetGMPPluginVersionForAPI sends a sync IPC message to the parent and causes main thread IO
bug 1313878 Use lambda to create runnable for dispatching to main thread in GMPCDMCallbackProxy.cpp
bug 1314445 Remove GMPService::GetPluginVersionForAPI
bug 1314797 "Nightly is installing components..." notification box doesn't disappear when CDM download completes
Audio/Video:MediaStreamGraph (MSG):
bug 1208316 Implement active/inactive state for MediaStreams
bug 1301675 Allow stopping all MediaStreamTracks
bug 1302612 Intermittent dom/media/test/test_new_audio.html | Test timed out.
bug 1304270 Intermittent dom/media/tests/mochitest/test_peerConnection_addtrack_removetrack_events.html | Test timed out.
bug 1304504 Check the return value of GetIntPref() properly or an initialized bogus value may be used
bug 1305336 Intermittent dom/media/test/test_streams_autoplay.html | TypeError: v.mozDumpDebugInfo is not a function
bug 1306209 Intermittent dom/media/tests/mochitest/test_getUserMedia_mediaStreamClone.html | Assertion count 1 is greater than expected range 0-0 assertions.
Audio/Video:Media Recording:
bug 1304950 Intermittent dom/media/test/test_mediarecorder_record_timeslice.html | onstop unexpectedly fired before ondataavailable
WebAudio:
bug 957024 Web Audio sources don't play when connected to PannerNodes with position 0,0,0
bug 1130010 Implement the new AudioNode.disconnect methods
bug 1228226 clicks with new playing AudioContext
bug 1265401 Perform linear interpolation when computing the SetValueCurveAtTime events
bug 1300818 Performance is bad for somewhat complex web audio chains (specially if other things are happening on the page at the same time) --> uplifted to Fx 50
bug 1308427 Allow a setTargetAtTime TimeConstant to be 0
bug 1308432 Implement ConstantSourceNode
bug 1313058 SetValueCurveAtTime interpolation is incorrect
bug 1314556 Convert TestAudioEventTimeline.cpp to a gtest
Core (General) WebRTC:
bug 1239161 Intermittent test_peerConnection_addDataChannelNoBundle.html | Test timed out.
bug 1256079 Intermittent test_getUserMedia_loadedmetadata.html | Test timed out
bug 1273314 Intermittent test_peerConnection_captureStream_canvas_2d.html | Test timed out.
bug 1284102 Intermittent browser/base/content/test/webrtc/browser_devices_get_user_media.js | recording-device-events notification unexpected - Got 1, expected 0
bug 1292771 Intermittent dom/media/tests/mochitest/test_peerConnection_verifyAudioAfterRenegotiation.html | Test timed out.
bug 1292917 Intermittent TEST-UNEXPECTED-TIMEOUT | dom/media/tests/mochitest/test_getUserMedia_audioCapture.html | application timed out after 330 seconds with no output after Assertion failure: mChannels && mFrames && mSampleRate (Mix not called for this cycle?)
bug 1293531 Intermittent dom/media/tests/mochitest/test_peerConnection_basicAudioPcmaPcmuOnly.html | PeerConnectionWrapper (pcLocal): legal ICE state transition from connected to failed
bug 1299047 Intermittent dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_audio.html | Test timed out.
bug 1304798 Can't share video at talky.io, if you've previously granted "always allow"
bug 1305506 Remove some cruft from a webrtc gyp file
bug 1305601 Intermittent dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_tracks.html | Test failed: Error: No event
bug 1306290 Build fails with --disable-webrtc on trunk
bug 1306631 Remove old Loop telemetry hooks from WebRTC
bug 1306782 Remove B2G from WebRTC mochitests
bug 1306821 Intermittent dom/media/tests/mochitest/test_peerConnection_trackDisabling_clones.html | Test timed out.
bug 1307155 JsepSessionImpl.cpp:292:15: warning: 4 enumeration values not handled in switch: 'kAudio', 'kText', 'kApplication'... [-Wswitch]
bug 1307300 Typo in trickle ICE SDP verification
bug 1309641 Multiple pre-answer binding requests result in excessive memory usage
bug 1313246 Empty username and/or credential in RTCPeerConnection constructor throw when they shouldn't
bug 1315288 Crash in memcpy | copy_and_extend_plane --> uplifted to Fx 51 (Fx 50 unaffected)
bug 1316657 Clean up webrtc gtest entries in toolkit.mozbuild
WebRTC:Audio/Video:
bug 1273734 [AVFoundation] Expose different FPS range as discrete capability
bug 1275554 MediaEngine's mImage value is sometimes released too late in shutdown (final-CC)
bug 1284910 Platform support to let the UI know which streams are scary to share
bug 1291715 Enable voice/audio support for DTMF in WebRTC
bug 1294605 Cloning a stopped track causes gUM capture to remain on until GC.
bug 1295352 Update media tests to not leave active gUM streams behind.
bug 1297337 Implement mediaDevices.ondevicechange for Linux
bug 1299324 Switching microphones in Firefox 49 hangs video feed, returns error
bug 1300468 Implement mediaDevices.ondevicechange for Windows
bug 1302059 Linux getUserMedia does not support all modes of a camera
bug 1303279 Resolution for outbound video stream drops to 352x288 on replacing video track during webrtc call.
bug 1304558 media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.h:18: fatal error: sys/inotify.h: No such file or directory
bug 1307042 Make fake audio implementation operate off NotifyPull, avoiding timers and underruns
bug 1307507 Resolution for outbound video stream drops to 352x288 on replacing video track during webrtc call.
bug 1307533 getUserMedia facingmode does not work on Surface Book
bug 1307630 Media with both audio and video tracks return the audio settings for the video track's getSettings()
bug 1308114 devicechange event is not fired if the script doesn't call getusermedia or enumerateDevices
bug 1308115 set the pref media.ondevicechange.enabled default true
bug 1308298 Remove duration and interToneGap attributes from RTCDTMFSender
bug 1308412 Webcams based on CoreMedia I/O plugin don't work since FF switch to AVFoundation
bug 1308605 Regression from OverconstrainedError to InternalError on failure of applyConstraints and some getUserMedia calls
bug 1308792 Crash in webrtc::ViEInputManager::RegisterObserver
bug 1309886 Received tracks don't end after removal and renegotiation
bug 1311048 Detect Firefox windows in window and application capture code.
bug 1312030 sIPCServingParent does not seem to be multi-content-process e10s compatible
bug 1312304 Crash in mozilla::NrIceCtx::Initialize
bug 1312332 Bad `stopVideo` check in GUMCallbackMediaStreamListener::NotifyChromeOfTrackStops
bug 1312413 `mDefaultDevice` should be an index in `mDeviceIndexes`
bug 1313406 Enable DTMF by default
bug 1315283 Intermittent video glitches on AppRTC calls
bug 1315737 Remove platform checking of screensharing whitelist
bug 1315858 Test ability to detect screensharing sources that are firefox.
WebRTC:Networking:
bug 852665 Report WebRTC transport termination (e.g. iceConnectionState=disconnected)
bug 1280041 Crash in mozilla::DataChannel::GetBufferedAmount
bug 1288904 Firefox sending unannounced SSRCs in simulcast, may not be sending RID
bug 1290049 Intermittent test_peerConnection_restartIceLocalAndRemoteRollback.html | iceconnectionstate event 'connected' matches expected state 'checking' - got "connected", expected "checking"
bug 1304568 A peculiar class hierarchy with NrSocketBase as a root
bug 1304920 Non ICE binding requests include fingerprint
bug 1306714 Implement RFC 7983 when demuxing DTLS
bug 1306873 Firefox sending unannounced SSRCs in simulcast, may not be sending RID
bug 1307433 WebRTC: implement RFC6051 ("Rapid Synchronisation of RTP Flows" )
bug 1309129 Redirect nICEr logging to NSPR
bug 1309585 GetAdaptersAddresses failure results in call failure on Win
bug 1310305 Crash in nr_stun_message_has_attribute
bug 1311383 Stop using Scoped.h NSS types in transportlayerdtls.(cpp|h)
bug 1315470 DataChannel.send() never throws exceptions
WebRTC:Signaling:
bug 1285646 Cleanup the repetitive code in sdp_parse_attr_fmtp from sdp_attr.c
bug 1291714 Add signaling support for DTMF in WebRTC
bug 1304165 Multiple renegotiations leads to crash in ActivateOrRemoveTransports
bug 1306594 test_peerConnection_audioRenegotiationInactiveAnswer.html is permafailing when tested properly
bug 1306777 RTP continues to send when track switches to inactive
bug 1312306 Treat expires=0 on RTCPeerConnection.generateCertificate() as 0
bug 1313527 red parser goes into endless loop on broken SDP
bug 1313905 Fix -Wincompatible-pointer-types-discards-qualifiers warnings in webrtc/signaling
bug 1315318 sdpUtils.js verifySdp has reversed info statements for requiresTrickleIce