Media/WebRTC/ReleaseNotes/55

From MozillaWiki
Jump to: navigation, search

Firefox 55 WebRTC/WebAudio Release Notes:

Full listing of all WebRTC & WebAudio bugs marked as Fixed in Firefox 55:

WebRTC bugs: Bugzilla search for WebRTC related bugs marked Fixed in Firefox 55

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

Noteworthy Changes:

bug 971528 Support stereo capture in gUM

bug 1343143 Enable VP8 temporal scalability for simulcast

This allows logging of unecrypted RTP and RTCP packets for easier debugging. See our RTP logging blog post for more details.

  • bug 1343640 Add hex dumping of RTP and RTCP to mtransport

Bug tickets fixed in Firefox 55 that affect WebRTC or Web Audio (full list):

Audio/Video:Cubeb :

bug 1371319 Startup crash in libpulsecommon-10.0.so@0x54b39 following enabling Rust port of cubeb PulseAudio backend

bug 1367646 Update cubeb from upstream to 087dc94

bug 1372057 Limit rust cubeb PulseAudio backend to nightly builds

bug 1358938 Remove gonk config.

bug 1343930 Headset plugging/unplugging results in tab crash when the play button is pressed

bug 1359477 Crash in libsystem_kernel.dylib@0x19d42 called from audiounit

bug 1343972 Crash in `anonymous namespace::com_ptr<T>::receive (unplug usb headset)

bug 1358756 Crash in `anonymous namespace::refill

bug 1320561 Crash in `anonymous namespace::handle_channel_layout

bug 1358868 Crash in `anonymous namespace::wasapi_stream_start

bug 1358896 Crash in audiounit_setup_stream

bug 1342389 Crash in CleanupPerAppKey | `anonymous namespace::wasapi_stream_render_loop

bug 1344653 Update cubeb from upstream to a3c012f

bug 1360060 Enable use of rust version of cubeb PulseAudio backend.

bug 1345049 Update cubeb from upstream to f07ee6d

bug 1362334 Update cubeb from upstream to 26a50b0

bug 1366707 Update cubeb from upstream to 96cdb17

bug 1348344 Add some code to debug the drift on OSX when aggregate device is not enable

bug 1368910 Update cubeb from upstream to 3428c2b

bug 1357683 Update cubeb from upstream to 6e52314

bug 1337641 Intermittent browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | application terminated with exit code 3221226505 after Assertion failed: (input_buffer && output_buffer && *input_frames_count + static_cast<int>(samples_to_frames(in

bug 1359451 Update cubeb from upstream to 17503c4

bug 1350893 Crash in arena_malloc | je_malloc | cubeb_stream::cubeb_stream

bug 1360053 Cleanup unused sources files in cubeb-pulse-rs

bug 1346665 Implement PulseAudio backend for Cubeb in Rust

bug 1351803 --disable-webrtc build broken in cubeb_wasapi.obj : error LNK2019: unresolved external symbol __imp_AvSetMmThreadCharacteristicsA

bug 1352929 Update libcubeb to revision 04826edb

bug 1348021 media/libcubeb/src/cubeb_log.cpp:76:17: undefined reference to `std::__1::__thread_struct::__thread_struct()'

bug 1341238 Patch to allow users to force a particular libcubeb audio backend

Audio/Video:GMP (Gecko Media Plugin):

bug 1346620 Netflix has never worked on Firefox: "The WidevineCdm plugin has crashed."

bug 1349008 SystemGroup used undefined in GMPVideoEncoderParent.cpp

bug 1358373 Assertion in ChromiumCDMChild::Allocate due lack of appropriately-sized shmen

bug 1366639 Add telemetry to track max number of shmems used by PChromiumCDM

bug 1353030 cleanup and document WrapRunnable uses

bug 1344812 Fix clang 5.0 warnings for ClearKeySessionManager.cpp: [-Wunused-lambda-capture] lambda capture 'sessionId' is not used

bug 1344909 mingw build broken with VideoDecoder.cpp error: 'std::thread' has not been declared

bug 1346678 Label runnables in dom/media/gmp/GMPParent.cpp and its friends

bug 1346679 Label runnables in dom/media/gmp/GMPCDMCallbackProxy.cpp

bug 1346681 Label runnables in dom/media/gmp/GMPVideoEncoderParent.cpp

bug 1351132 Logging doesn't work properly in ChromiumCDMChild

bug 1351874 ChromiumCDMProxy::Shutdown() fails to dispatch to ChromiumCDMParent::Shutdown

bug 1351953 Use Shmems to send encrypted video frames and samples through PChromiumCDM

bug 1351954 gmp-clearkey's WMF decoder doesn't allocate its video frame buffer optimally

bug 1315850 [EME] Implement ChromiumCDM as native GMP API

bug 1352924 Fix GMP async shutdown

bug 1334111 EME: PersistentState should be disabled in private browsing mode

bug 1344614 Improve GMP clock from second to millisecond precision

bug 1360959 Fix assert in ChromiumCDMChild::RecvDecrypt()

bug 1345313 Label runnables under dom/media/gtest

bug 1345761 Remove the unused do_GetMainThread() call from GMPServiceChild::GetBridgedGMPContentParent()

Audio/Video:MediaStreamGraph (MSG):

bug 1369422 Simplify MediaStreamGraph::IsNonRealtime and make it not lock.

bug 1341666 Assertion failure: false (We should be reviving the graph?), at /home/worker/workspace/build/src/dom/media/MediaStreamGraph.cpp:4012

bug 1368448 Intermittent dom/media/test/test_bug1113600.html | application terminated with exit code -139

bug 1342950 MOZ_ASSERT(true) in SourceMediaStream::AddDirectTrackListenerImpl.

Audio/Video:Media Recording:

bug 1348381 VP8TrackEncoder crash: [@mozilla::VP8TrackEncoder::PrepareRawFrame]

bug 1354457 MediaRecorder.pause() stopped working in 51

bug 1357640 Permaorange in test_mediarecorder_record_changing_video_resolution.html | uncaught exception - TypeError: video.seekToNextFrame is not a function when Gecko 55 merges to beta on 2017-06-12

bug 1232043 Handle resolution changes for VP8 in MediaRecorder

bug 1364776 [MediaRecorder] requestData fails if called on a paused recorder

bug 1332845 Intermittent dom/media/test/test_mediarecorder_principals.html | application crashed [@ mozilla::VideoTrackEncoder::AppendVideoSegment(mozilla::VideoSegment const&)] after Assertion failure: false, at dom/media/encoder/TrackEncoder.cpp:289

bug 1356212 Intermittent dom/media/test/test_mediarecorder_record_changing_video_resolution.html | Test timed out.

Core (General) WebRTC:

bug 1359854 WebRTC in v53.0 is not recognizing TIAS bitrates (bitrates shoot up to very high numbers)

bug 1361445 convert MediaEngineSource to use NS_DECL_OWNINGTHREAD

bug 1369108 Ask for WebRTC app permissions asynchronously on Android

bug 1166955 nsISupportsUtils.h(49) : warning C4005: 'NS_IF_ADDREF' : macro redefinition, for Windows WebRTC file "BaseFilter.cpp" (maybe partly due to unified builds)

bug 1343691 RTCP stats missing in FF53 (fallout from webrtc.org 49 update)

bug 1241066 getStats API always returns 1 for mozRTT

bug 1355010 Fx 55 enforcing correct extmap direction causes call failures with Chrome

bug 1325513 RTP header extensions potentially read out of bounds

bug 1355220 Add sender.getStats() and receiver.getStats()

bug 1359775 Add RTCRtpContributingSourceStats to webrtc stats report

bug 1344970 Rename mozRtt stat to roundTripTime and change behavior to match spec

bug 1349233 While screen sharing on Cisco Spark (web app) the receiving end only sees a still image

bug 1363253 Intermittent browser/base/content/test/webrtc/browser_devices_get_user_media_screen.js | recording-window-ended notification unexpected - Got -1, expected 0

bug 1350055 --disable-webrtc build fails with "netwerk/ipc/PNecko.ipdl:27: error: can't locate include file `PStunAddrsRequest.ipdl'"

bug 1353028 Nightly users can't see/hear stream on Talky.io

bug 964133 Hook up webrtc.org unit tests so they can be built and run in our tree

bug 1354350 libyuv builds with NVALGRIND under MOZ_VALGRIND builds

bug 1354353 nICEr and nrappkit builds with NVALGRIND under MOZ_VALGRIND builds

bug 1342579 Test to verify we can connect to different certs and ICE credentials

bug 1358224 simulcast mochitests (offer and answer) need work to filter by rid to avoid issues with switching ssrcs

bug 1349480 getUserMedia({}) returns NotSupportedError

bug 1365291 Make sure 'this' is captured on dispatch to STS thread in AddRIDExtension_m and AddRIDFilter_m in MediaPipeline

bug 1351531 Intermittent dom/media/tests/mochitest/test_peerConnection_simulcastAnswer.html | Error in test execution: Error: Timeout for element pcLocal_remote_{5c32567b-e920-4183-9554-7fe01c3b9670} waitForMediaElementFlow@http://mochi.test:8888/tests/dom/media/test

bug 1351590 Intermittent dom/media/tests/mochitest/test_peerConnection_simulcastOffer.html | Error in test execution: Error: Timeout for element pcRemote_remote_{...} waitForMediaElementFlow@mochitest/pc.js:1410:13 ... waitForMediaFlow/<@mochitest/pc.js

bug 1353910 Permafailing on Aurora since e10s-multi Windows browser_devices_get_user_media_anim.js | the animated sharing icon of the tab is hidden - Got -moz-box, expected none

bug 1354222 Fix log level casting warnings

bug 1093835 test_peerConnection_addSecondAudioStream.html needs verification of second media flow

bug 1346913 Rewrite waitForRtpFlow in mochitests to use new async/await syntax

WebRTC:Audio/Video:

bug 1369967 Crash in mozilla::AudioProxyThread::InternalProcessAudioChunk

bug 1369698 Fix deprecation warning for `URL.createObjectURL(MediaStream)`

bug 1363261 MediaManager keeps accumulating callIds on successful gUM calls until page navigation

bug 1353476 Crash in mozilla::camera::CamerasParent::IsShuttingDown

bug 1366415 Unprefix autoGainControl and noiseSuppression constraints

bug 1320994 Non deterministic recording-device-events notification count when stopping a screen share stream at the same time as another device

bug 1334421 Assertion failure: aInstanceSize == 0 || entry->GetClassSize() == aInstanceSize on simple WebRTC tests on try

bug 1337810 Jitsi video freezes after a few minutes of conversation

bug 1369724 Fake H264 codec used in mochitests randomly fails causing timeouts

bug 1338521 Video fails to appear (or freezes?) after refreshing page during a Jitsi call

bug 1340163 Origin-unique deviceId persistence (used in enumerateDevices and gUM constraints) is broken

bug 1346005 Add logging for audio frames

bug 1348174 Test origin-unique deviceId persistence.

bug 1358030 [Firefox for Android] add mochitest to test remote h/w encoder

bug 1359662 Screen-sharing track.getSettings() returns crazy high values for width and height

bug 1363259 getusermedia constraint frameRate doesn't take effect

bug 1265755 [Firefox for Android] Utilize hardware encoders to save power consumption & improve performance

bug 1368875 Telemetry WEBRTC_GET_USER_MEDIA_TYPE only counts callers who use constraints.

bug 1343143 Enable VP8 temporal scalability for simulcast

bug 1354993 [Firefox for Android] Add PictureID into VP8 CodecSpecificInfo

bug 1359668 Screen-sharing track.getSettings() should reflect actual video width and height once frames come in.

bug 1264343 test_peerConnection_scaleResolution.html times out on Android

bug 971528 Support stereo capture in gUM

WebRTC:Networking:

bug 1350568 Crash in Abort | corrupted actor state | mozalloc_abort | NS_DebugBreak | mozilla::ipc::LogicError | mozilla::net::PStunAddrsRequestParent::SendOnStunAddrsAvailable

bug 1358889 Crash in mozilla::SingletonThreadHolder::ReleaseUse_i

bug 1365090 Crash when renegotiating SDP and simulcast is enabled

bug 1345511 Move nICEr stun local address discovery to an IPC call to enable future sandbox restrictions on content process

bug 1350912 TIAS can be below the minimum bitrate for high-resolution streams (especially screensharing)

bug 1355259 ICE TCP user pref filters out all candidates

bug 1363563 Firefox crashes when using WebRTC and renegotiating with a new offer that has less RTP header extensions than the previous one.

bug 1335966 Crash in nr_ice_component_consent_timer_cb

bug 1367578 DataChannel logging broken since Network team updated it to LazyLogging

bug 1339246 When switching from sendrecv to recvonly to sendrecv, FF sends RTP with the previous SSRC of the same m= line rather than the new one

bug 1343640 Add hex dumping of RTP and RTCP to mtransport

bug 1347813 the incoming audio's packet loss is zero when get the packet loss from the function getstat

bug 1348657 Cannot access framesEncoded from RTCOutboundRTPStreamStats

bug 1353575 ice_unittest fails on external stun server tests - switch from twilio to google stun server

bug 1303867 Missing DTLS alert on PeerConnection.close()

bug 1323723 RTCPeerConnection: stop sending media when applying a second SDP offer

bug 1325173 RtpStreamId is truncated when read from RTP extension header

bug 1365081 Data channel fails to open if maxPacketLifeTime is set

bug 1342523 We need better ICE duration telemetry

bug 1345791 Crash in mozilla::NrIceCtx::SetConnectionState

bug 1337294 PeerConnectionMedia.cpp: Unnecessary call to std::string::c_str()

WebRTC:Signaling:

bug 1354207 signaling disables valgrind

bug 1361206 RTP Header Extension IDs in Offer/Answer Exchange

bug 1367930 Handle RID Encondings mis-match for simulcast

bug 1371362 PeerConnectionImpl has unused counters mNumAudioStreams and mNumVideoStreams

bug 862837 Signaling Unittests should build under Windows

bug 1176415 a=ssrc lines on m=application lines

bug 1325991 Firefox emits a=bundle-only with a non-zero port

bug 1335262 Add max-message-size support for data-channels

bug 1344556 Nor a=simulcast/a=rid if calling sender.setParameters() before pc.createAnswer()

bug 1361139 remove test-related ssrc filtering from MediaPipeline now that RID filtering works

bug 1364325 Replace AddLocalRTPExtensions with SetLocalRTPExtensions

bug 1366581 single m-line offers does not use bundle