From MozillaWiki
Jump to: navigation, search

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:
    • 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.
  • 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


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, 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


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.


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


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