Media/WebRTC/ReleaseNotes/44
Contents
Firefox 44 WebRTC/WebAudio Release Notes:
Full listing of all WebRTC/WebAudio bugs marked as Fixed in Firefox 44:
WebRTC bugs: Bugzilla search for WebRTC bugs marked Fixed in Firefox 44
WebAudio bugs: Bugzilla search for WebAudio bugs marked Fixed in Firefox 44
Noteworthy Changes:
IMPORTANT: We've unprefixed the main WebRTC APIs:
- mozRTCPeerConnection
- mozRTCSessionDescription
- mozRTCIceCandidate
- HTMLMediaElement.mozSrcObject.
We will continue to support the prefixed APIs for several releases and will publish a PSA *before* we drop support for the prefixed APIs, but *please* update your implementations as soon as you can. (See bug 1155923.)
Other noteworthy changes:
- gUM now captures at 32kHz (See bug 953265.)
- MediaStream.addTrack() and MediaStream.removeTrack() are now supported (See bug 1103188.)
- HTMLCanvasElement::CaptureStream now works on mobile (Android and B2G) (See bug 1210286.)
- MediaRecorder now supports all streams you can get from APIs in gecko (See bug 1182426.)
- Screensharing now respects the framerate passed in via GUM constraints (See bug 1211658.)
- Web Audio performance improvements (See bug 1200579, bug 1205540, bug 1205558, bug 1207003, bug 1210280, bug 1214493)
Bug tickets fixed in Firefox 44 (full list):
Core (General) WebRTC:
bug 1113443: Replace rtpmap:111 NULL/0 with something more sensible
bug 1155923: Unprefix WebRTC
bug 1207416: Telemetry for time spent in different load states
bug 1207784: RTCPeerConnection in add-ons broke in 42
bug 1210347: Don't automatically uppercase the first character of the connection types in about:webrtc
bug 1210852: getUserMedia is doing capability enumeration on the main thread
bug 1213738: LambdaRunnable should move lambda instead of copying it
bug 1216769: getUserMedia trunk logging bugs (illegal mem access on B2G) with NSPR_LOG_MODULES=MediaManager:5
Audio/Video:
bug 953265: getUserMedia captures at 16Khz
bug 1192170: GetUserMedia MediaStream.stop() should no longer be used but is still required to get rid of permission indicator after stopping all local tracks
bug 1206900: Telemetry for type of tracks obtained from getUserMedia
bug 1206982: getUserMedia spec switched from PermissionDeniedError to SecurityError
bug 1211658: GUM constraints for screen sharing don't affect framerate
bug 1214675: Crash in mozilla::camera::PCameras::Transition(mozilla::camera::PCameras::State, mozilla::ipc::Trigger, mozilla::camera::PCameras::State*)
Networking:
bug 1158404: [e10s] Leak of DataChannelShutdown
bug 1178091: Implement RTC-DataChannel-bufferedAmountLow event
bug 1206465: Remove ice_ctx from TestStunTcpServer
bug 1206981: [e10s] disable ICE TCP under e10s until bug 1179345 lands
bug 1207451: Remove TCP framing as an option from ICE TCP
bug 1208096: Server-reflexive candidates that are obtained from TURN servers do not always finish initializing
bug 1208176: ice_unittests is broken, again
bug 1211389: Crash in nr_ice_candidate_mark_done when setting up WebRTC calls
bug 1214279: Websocket disconnected in firefox beta 42.0b5
bug 1215616: wrong raddr and rport in srflx ice candidates
bug 1215679: Disable AddressSanitizer ODR checking for cppunittests
bug 1216815: |TestStunTcpServer::accept_cb| leaks |wrapsock| if |nr_socket_getfd| fails
Signaling:
bug 1207824: Add Telemetry for call type, simultaneous tracks, and renegotiations
bug 1209744: Implement RTCPeerConnection canTrickleIceCandidates attribute
bug 1211091: Amount of streams per data channel ignores upper limit check
bug 1212907: a=rid attribute support
bug 1212908: Update a=simulcast to 03 draft
bug 1213937: Update RTCCertificate hash handling
bug 1215519: We shouldn't ship RTCCertificate.expires as a Date
Audio/Video:MediaStreamGraph (MSG):
bug 1103188: Implement MediaStream.addTrack()/removeTrack()
bug 1170958: Refactor DOMMediaStream to accommodate Clone(), AddTrack(), RemoveTrack(), etc.
Media Recording:
bug 1182426: Make MediaRecorder support all image formats
bug 1210286: Make MediaRecorder work with canvas captureStream on Android and B2G
WebAudio:
bug 864171: Problem in converting retrospective AudioParam event times to track ticks on context that has had no nodes
bug 1020370: WebAudio: Assertion failure: skipFracNum < 2147483647 (mBeginProcessing is wrong?)
bug 1053011: AudioContext currentTime is not aligned with processing blocks
bug 1069825: Setting a value curve twice with the same startTime and duration should not throw
bug 1110344: setValueCurveAtTime is off by one frame
bug 1180940: Handle AudioContext::CreateAudioChannelAgent() failing
bug 1198386: Intermittent test_webaudioNotification.html | Test timed out, test_webaudioNotificationStopOnNavigation.html | Test timed out
bug 1200579: Stop copying AudioParam timelines
bug 1203616: Noisy/distorted audio on Web Audio demo (Ring Modulator from BBC) -- Uplifted to Fx42
bug 1203836: Clicks with looping media element source stream -- Uplifted to Fx43
bug 1205540: skip processing of inactive audio nodes
bug 1205558: track audio node engine time only on the destination node
bug 1206362: Assertion failure: aParam >= 0, at c:/Users/mozilla/debug-builds/mozilla-central/dom/media/webaudio/AudioBufferSourceNode.cpp:12
bug 1207003: remove unnecessary tracks from AudioNodeStreams
bug 1208318: test_scriptProcessorNode_playbackTime1.html assumes that AudioContext runs on same clock as setTimeout
bug 1208327: make enum AudioContextOperation strongly typed and forward declare instead of including AudioContext.h
bug 1209286: remove now unnecessary StreamTimeToDOMTime and DOMTimeToStreamTime
bug 1209904: Optimize OscillatorNode::ComputeCustom
bug 1210266: use parameter index instead of node callback for sending timeline events
bug 1210267: simplify AudioNode/AudioParam custom final release
bug 1210280: use nullptr for silent channels in UpMixDownMixChunk
bug 1214493: AudioBufferSourceNodes scheduled in a sequence are no longer seamless when buffer sample rate doesn't match context
bug 1214545: Update getFrequencyResponse to have NaN at index with invalid frequencies
bug 1215096: off-by-one error in playback position of resampled buffers
bug 1216081: OscillatorNodeEngine::mFinalFrequency is used uninitialised
bug 1218694: Return the AudioNode connected to when calling AudioNode.connect()