Media/WebRTC/ReleaseNotes/45

From MozillaWiki
Jump to: navigation, search

Firefox 45 WebRTC/WebAudio Release Notes:

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

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

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

Noteworthy Changes

IMPORTANT: New Delay-Agnostic AEC

[WebRTC] We've replaced the AEC we were using with the new Delay-Agnostic AEC. It is currently enabled by a pref. If we hear of regressions, we may pref off before Fx45 goes to Release. If you hear echo, please let Maire (mreavy on irc) know as soon as you can. (See bug 1226347.)


Other noteworthy changes:

  • [WebRTC] Updated webrtc.org code to branch 43. (See bug 1198458).
  • [WebRTC] Making onnegotiationneeded asynchronous can break pages that don't expect this. (See bug 1175609.)
  • [Web Audio] bug 1222405 introduced a regression. We will uplifting a fix for this regression before Fx45 goes to Beta. Follow bug 1240054 for status.
  • [Web Audio] Input gain to a StereoPannerNode is no longer ignored when pan is 0. (See bug 1214239)
  • [Web Audio] PeriodicWave now supports a minimum of 8192 elements. (See bug 1171436.)
  • Additional Web Audio Perf improvements.

Bug tickets fixed in Firefox 45 (full list):

Core (General) WebRTC:

bug 1175609: onnegotiationneeded fires synchronously

bug 1190574: Test harness functions like test.chain.replace aren't asserting inputs, hiding bad tests.

bug 1198458: Update WebRTC code to webrtc.org stable branch 43

bug 1215769: TrackIDs of tracks in MediaStreams captured from a media element change when looping

bug 1219480: Replace PRLogModuleInfo usage with LazyLogModule in dom/media

bug 1219566: Add aarch64 macro to webrtc/trunk/build/build_config.h

bug 1220679: JSAPI handling in nsContentPermissionProxy::Allow is busted

bug 1227481: [Static Analysis][Result of operation is garbage or undefined] Function OpenCoreDebugFiles from media/webrtc/trunk/webrtc/modules/audio_processing/aec/aec_core.c

bug 1227708: Differentiate ICE_SUCCESS_RATE telemetry for loop vs webrtc

bug 1227781: Crash creating RTCPeerConnection

bug 1231106: Check PlatformThreadId is non-zero before returning on BSDs as well (for --enable-debug)


Audio/Video:

bug 800564: In libyuv, MJPGToI420() throws away the return code in many cases

bug 911450: sndio webrtc audio backend

bug 1193075: Allow setting & changing the viewport on gUM tab sharing.

bug 1202087: WebRTC screen capture partially broken on windows 10

bug 1207546: Integrate WebRTC with audio channels

bug 1211656: GUM Constraints for screen sharing don't affect stream resolution

bug 1218799: MediaEngine::Shutdown() should not be called on the main thread

bug 1219711: Disabling/muting Media tracks no longer works

bug 1226146: Fix sndio backend after webrtc 43 landing in 1198458

bug 1226347: Cherry-pick Delay-Agnostic AEC from later upstream versions of webrtc

bug 1227407: Correct a logic error in camera code that could be causing a crash

bug 1228788: mozGetUserMedia — FATAL ERROR: AsyncShutdown timeout (Media shutdown: blocking on media thread)

bug 1229413: Remove MediaManager's xpcom-will-shutdown observer

bug 1229926: Attempting to start a "browser" (aka tab) share with fake streams gives "OverconstrainedError: Constraints could be not satisfied., line 0"

Networking:

bug 1006809: Bring triggered check behavior up-to-date with final ICE RFC

bug 1125947: Fix -Wunreachable-code warning in netwerk/sctp/datachannel/DataChannel.cpp

bug 1192403: ice_unittest reports error 13 for TCP sockets

bug 1208278: ICE TCP connections time out after 1.6s

bug 1219557: Only pair addresses from 1918 ranges with others from the same range

bug 1220441: ice unit tests TestStun[Tcp]ServerTrickle are at least unreliable

Signaling:

bug 1192813: WebRTC SDP sets 0.0.0.0 in c line with multiple NICs

bug 1220043: Building WebrtcGlobalInformation.cpp causes C1001 error on VS2015 x64

bug 1221837: sdp without rtpmap for static codec IDs => "Failed to negotiate codec details for all codecs" error.

bug 1223160: Create a SDP file reader for fuzzing

bug 1231196: signaling_unittests hits an assertion in PeerConnectionImpl.cpp


WebAudio:

bug 930257: AudioBufferSourceNode and OscillatorNode don't dispatch ended event when OfflineAudioContext completes soon after source end

bug 1094925: Web Audio ChannelMergerNode ignores inputs from GainNodes with zero gain

bug 1171436: Support at least 8192 elements for PeriodicWave

bug 1214239: [Web Audio] StereoPannerNode ignores input gain when pan is 0

bug 1217625: suspend inactive AudioNodeStreams

bug 1220037: corrupted convolution from out-of-position nyquist DFT coefficient

bug 1220041: some optimizations for copying libav FFT data

bug 1220042: make AlignedTArray base class inheritance private

bug 1221830: double maximum realtime convolver stage size

bug 1221831: use initial input buffer offset to control when convolver stages perform their FFT

bug 1221833: remove direct convolution stage; instead use largest initial FFT stage possible

bug 1221836: return output pointer from FFTConvolver::process() to save a buffer copy

bug 1221855: Crash [@ mozilla::dom::ScriptProcessorNodeEngine::SizeOfExcludingThis const ]

bug 1222202: "ASSERTION: QueryInterface needed" with web audio memory report

bug 1222405: Build band limited tables lazily in PeriodicWave

bug 1223520: "Assertion failure: mOutputBuffer[halfSize].i == 0" with NaN buffer

bug 1224022: Intermittent test_WebAudioMemoryReporting.html | Non-zero usage for explicit/webaudio/audio-node/ScriptProcessorNode/dom-nodes

bug 1224102: reduce the size of the final FFT convolution stage if possible

bug 1225003: Crash [@ mozilla::WebAudioDecodeJob::SizeOfExcludingThis]

bug 1227411:Add some logging of Web Audio API use

bug 1230692: "Assertion failure: !Failed(), at ErrorResult.h:103" - mozilla::WebAudioDecodeJob::OnFailure


Audio/Video:Cubeb :

bug 1225703: Update in-tree libcubeb



Audio/Video:GMP (Gecko Media Plugin):

bug 1220326: [EME] Wipe stack after generating machine ID on MacOSX

bug 1224442: Armor GMP Parent against late Shmem messages from the child

bug 1228215: [EME] Segregate GMP storage by GMP


Audio/Video:MediaStreamGraph (MSG):

bug 1214018: [EME] Generate machine ID on MacOSX

bug 1216417: Resuming a paused media element playing a stream does not play audio

bug 1218593: Dialer touch tones sounds intermittently stop playing audio in Dialer.

bug 1223655: Intermittent "###!!! ASSERTION: Track not found" in MediaEngineDefaultAudioSource::NotifyPull

bug 1223696: The MediaElement will not be played after removeTrack() and addTrack() back.

bug 1228559: Don't allow media stream cross different type MSG


Audio/Video:Media Recording:

bug 1154213: Same timestamps in audio recorded with media recorder api (in audio+video mode)(with vorbis)

bug 1225327: Crash [@ mozilla::dom::MediaRecorder::Session::SizeOfExcludingThis]