Media/WebRTC/ReleaseNotes/43

From MozillaWiki
Jump to: navigation, search

Firefox 43 WebRTC/WebAudio Release Notes:

Full listing of all WebRTC/WebAudio bugs marked as Fixed in Firefox 43:

WebRTC bugs: Bugzilla search for WebRTC bugs marked Fixed in Firefox 43

WebAudio bugs: Bugzilla search for WebAudio bugs marked Fixed in Firefox 43

Noteworthy Changes:

IMPORTANT: Firefox will no longer use RTP/SAVPF in m=audio and m=video SDP lines and will instead use UDP/TLS/RTP/SAVPF as required by the JSEP specification. Implementors and webrtc service providers should verify that their implementation/service can cope with this change. Firefox will permit the protocol to be changed back to RTP/SAVPF via SDP munging in JS, as a work around. (See bug 1094447 for more details.)

Other noteworthy changes:

NOTE: Bitrate property for MediaRecorder is now adjustable (see bug 1161276).

Bug tickets fixed in Firefox 43 (full list):

Core (General) WebRTC:

bug 1037997: Support multiple monitors for getUserMedia

bug 1064223: Retire backwards compatible RTCOfferOptions in about 6 weeks

bug 1152298: Implement an AutoDriver for HTMLCanvasElement::CaptureStream

bug 1167443: mochitest end-of-candidate handling is flawed

bug 1177276: Pref on HTMLCanvasElement::CaptureStream by default

bug 1188376: Separate Hello from non-Hello calls in Telemetry

bug 1188407: WebRTC packetloss telemetry should be rate, not total packets lost

bug 1192203: getUserMedia Video does not work on (some other) Android 2.3 devices

bug 1193045: Wait for mochitest test step results and add extra safety check for 'selected' attribute

bug 1198107: Memory leak when WebRTC LoadManager adjusts resolution for VP8 encoder

bug 1199704: Intermittent test_peerConnection_basicAudioVideoNoBundleNoRtcpMux.html | Test timed out or PeerConnectionWrapper (pcRemote): legal ICE state transition from new to failed

bug 1200614: Intermittent test_peerConnection_twoAudioVideoStreamsCombined.html | application crashed [@ mozilla::media::LambdaRunnable<mozilla::camera::CamerasParent::RecvStopCapture(const int&, const int&)::<lambda()> >::Run]

bug 1200823: [steeplechase] bug 1167443 causes test failures

bug 1201096: Remove WebRTC LSan suppressions

bug 1201209: Intermittent test_nr_socket_unittest | test failed with return code 1

bug 1202424: crash in <T>::operator()

bug 1203701: [steeplechase] missing sdputils

Audio/Video:

bug 901633: Improve internal support for stereo audio in the webrtc media pipeline

bug 912342: Change camera resolution with MediaStreamTrack.applyConstraints()

bug 962719: ASSERTION: Shouldn't have already notified of finish *and* have output!: '!streamHasOutput[i] || !stream->mNotifiedFinished'

bug 1181896: Change gUM() NotFoundError to OverconstrainedError for constraint-failures

bug 1187315: Rename dom/webidl/Constraints.webidl to something less generic

bug 1191298: getUserMedia fails for audio if constraints are specified

bug 1191301: media.navigator.video.use_tmmbr not working

bug 1201197: Enumeration of Devices silently fails when called adjacent to stopping a WebRTC stream

bug 1205339: MOZ_ASSERT in AllocPMediaParent() after tab crash recovery in e10s

Networking:

bug 950660: Support TCP nr_socket in content process.

bug 1008792: Null pointer deref on out of memory in nr_socket_buffered_stun_create

bug 1051052: Generate candidates with SDP mid values

bug 1125292: Support Tunnel-Protocol for WebRTC

bug 1142964: WebRTC: Firefox sends ICE-CONTROLLING with tie breaker = 0x1 and doesn't respond to 487

bug 1186590: Duplicated priorities for IPv6 ICE candidates

bug 1194019: ice_unittest IceGatherTest gathers TCP for UDP tests

bug 1194385: Add new test cases to document current nICEr socket behavior

bug 1194817: Certain high-traffic uses of DataChannels/sctp fail when the packets get too large due to PMTU

bug 1198730: DataChannel PMTUD disable clears other flags by accident

bug 1199766: Disable ICE TCP SO gathering

bug 1200763: IceGatherTest.TestGatherFakeStunServerIpAddress (in ice_unittest) is failing

bug 1205156: Add telemetry to measure how often getUserMedia is used over non-secure origins

bug 1205421: heap overflow in ice_unittest DNS resolution

Signaling:

bug 1094447: Start using UDP/TLS/RTP/SAVPF in offers once it interops

bug 1095793: JsepSessionImpl should be able to use mid on candidates to find which m-section they should be placed in

bug 1173601: simulcast attribute support in sdparta

bug 1176941: Javascript errors in WebRTC IdP sandbox are swallowed

bug 1193495: JsepSessionImpl can create reoffers with duplicate payload types in some situations

bug 1203246: Track negotiation logic should be factored out of JsepSessionImpl

bug 1204082: SDP returned by localDescription property of mozRTCPeerConnection has always same session ID (4294967295)

WebAudio:

bug 916387: ScriptProcessorNode stops calling onaudioprocess when a connected input is GCed.

bug 1190676: "Assertion failure: cycleStackMarker == ps->mCycleMarker"

bug 1191648: don't keep ScriptProcessorNodes alive when they have no audioprocess listeners

bug 1191649: ScriptProcessorNode stops dispatching audioprocess when connected source nodes stop

bug 1192586: Suppress warnings in third-party library media/libav

bug 1192587: Build media/libav in unified mode

bug 1193917: Paper over web audio leaks revealed by event loop changes

bug 1193922: Intermittent web audio leaks caused by RunInStableState changes

bug 1195051: Creating an AudioContext shows the tab sound indicator even without anything playing

bug 1196109: keep memory allocation for mixed input channel pointer array

bug 1196111: don't keep AudioContext alive from AudioBuffer

bug 1197028: release shared buffers from downstream so that upstream can re-use

bug 1197043: use flags to distinguish between AudioNodeStreams wanting external streams and main thread events

bug 1198656: Avoid sometimes unnecessary initial AudioBuffer allocations

bug 1199559: produce generated AudioBuffer contents in a format suitable for direct use

bug 1199560: finish offline audio context processing even when allocation fails

bug 1199561: delay offline channel buffer allocation until non-null input is received

bug 1201854: handle AudioBufferSourceNode stop time precisely even when resampling

bug 1201855: send AudioBufferSourceNode ended event even when the buffer has no channel data

bug 1203380: fix downstream references in AudioBlock