Media/WebRTC: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Project Status: updated roadmap link)
(→‎Releases: Add 42-45 release notes)
Line 27: Line 27:
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/40 Firefox 40 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/40 Firefox 40 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/41 Firefox 41 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/41 Firefox 41 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/42 Firefox 42 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/43 Firefox 43 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/44 Firefox 44 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/45 Firefox 45 WebRTC & Web Audio Release Notes]


===Firefox 41 (Nightly May 12, 2015 - June 29,2015  | Release uplift 2015-09-21) ===
===Firefox 41 (Nightly May 12, 2015 - June 29,2015  | Release uplift 2015-09-21) ===

Revision as of 02:51, 15 March 2016

WebRTC is a free, open project that will bring peer-to-peer real-time audio, video and data to the web without plugins, using open web standards. Checkout the WebRTC project page set up by Google for interesting links and details.


Product Backlog

Key Bugzilla Queries

The goals of the Product Backlog and dynamic Planning are to:

  • Simplify prioritization & planning so the team is always working on the most important features.
  • Improve visibility to everyone to clear priorities - so we make the best decisions about the direction of the product (call out risks early, relative priorities, trade-offs).

Releases

Firefox 41 (Nightly May 12, 2015 - June 29,2015 | Release uplift 2015-09-21)

Full Query
ID Summary Status Assigned to
1032848 Add mediastream = canvas.CaptureStream() or equivalent RESOLVED Andreas Pehrson [:pehrsons] (PTO; back in Aug)
1076906 Fix license headers for some WebRTC files, and provide LICENSE file RESOLVED Gervase Markham [:gerv]
1087629 Add mochitest for handling ICE failure cases RESOLVED juan becerra [:juanb]
1132318 refine resolution/framerate selection RESOLVED Randell Jesup [:jesup] (needinfo me)
1135372 Intermittent browser_devices_get_user_media_in_frame.js | application crashed [@ mozilla::MediaManager::Observe(nsISupports *,char const *,wchar_t const *)] after "Assertion failure: device, at dom\media\MediaManager.cpp:2058" RESOLVED
1157057 Rewrite the handling of the nsITimer object in nrappkitTimerCallback RESOLVED (no longer active)
1157995 Leak with expando on navigator.mediaDevices RESOLVED Andrew McCreight [:mccr8]
1159489 Make WebRTC video min/max bitrates dynamic and dependent on resolution and framerate RESOLVED Randell Jesup [:jesup] (needinfo me)
1160745 Fix webrtc tests building on OpenBSD (missing -lsndio) RESOLVED Landry Breuil (:gaston)
1161615 gUM mochitest hang after catching errors RESOLVED Nils Ohlmeier [:drno]
1162026 convert WrapRunnable* and supporting machinery to use variadic templates RESOLVED Nathan Froyd [:froydnj]
1163852 Intermittent test_peerConnection_addSecondVideoStream.html | application terminated with exit code -5 RESOLVED Randell Jesup [:jesup] (needinfo me)
1163859 WebRTC logging module triggering content thread warning on pref write operation RESOLVED Paul Kerr [:pkerr]
1166659 Add mochitest tags for webrtc and webaudio tests RESOLVED Andreas Pehrson [:pehrsons] (PTO; back in Aug)
1168075 [bluetooth2] Build break on flame-kk after enabling bluetooth api v2. RESOLVED Bruce Sun [:brsun]
1171143 Fix capture build for iOS RESOLVED (not currently active) Ted Mielczarek
1173255 Cleanup MediaManager e10s code (avoids opening it on clear cookies) in prep for deviceId constraint RESOLVED Jan-Ivar Bruaroey [:jib] (needinfo? me)

17 Total; 0 Open (0%); 17 Resolved (100%); 0 Verified (0%);

Firefox 40 (Release uplift 2015-08-11)

Full Query
ID Summary Status Assigned to
1093934 Create a XPCOM library that can be used to support standalone WebRTC RESOLVED Randall Barker [:rbarker]
1097804 Create a library containing nsISocketTransportService and nsIDNS that can be used to support standalone WebRTC RESOLVED Randall Barker [:rbarker]
1100502 about:webrtc Start Debug Log/etc don't work on Nightly (e10s) RESOLVED Paul Kerr [:pkerr]
1101651 Enable WebRTC unit tests to be built using standalone WebRTC library RESOLVED Randall Barker [:rbarker]
1143694 WebRTC looks garbled on Lollipop Gonk RESOLVED Sotaro Ikeda [:sotaro]
1152538 Enable WebRTC identity by default RESOLVED Martin Thomson [:mt:]
1153378 dom/media/AudioSegment.h:210:18 [-Wunused-variable] unused variable 'in' RESOLVED Chris Peterson [:cpeterson]
1154389 Stop leaking DeviceSuccessCallbackRunnable objects, and release its mOnSuccess and mOnFailure on the main thread if needed RESOLVED (no longer active)
1154482 about:webrtc page occasionally throws a TypeError for an undefined reference RESOLVED Paul Kerr [:pkerr]
1155140 documentation for test helper functions mention removed parameters RESOLVED Gordon Klaus [:gordon] (Telenor)
1155648 documentation for DOMMediaStream::OnTracksAvailable is stale RESOLVED Gordon Klaus [:gordon] (Telenor)
1156621 USE_LIBS contains "/nsprpub/lib/libc/src/plc4", but there is no "plc4" LIBRARY_NAME in nsprpub/lib/libc/src --with-system-nspr RESOLVED Karl Tomlinson (:karlt)
1158868 PeerConnection should not depend on navigator.onLine RESOLVED Valentin Gosu [:valentin] (he/him) {{ AFK in July }}
1159320 --disable-webrtc builds now error out with "dom/ipc/PContent.ipdl:53: error: can't locate include file `PWebrtcGlobal.ipdl'" RESOLVED Paul Kerr [:pkerr]
1159840 Remove libvpx alignment patch RESOLVED Ralph Giles (:rillian)
1161079 Logging of encoder stats in WebRTC broken by multistream landing RESOLVED Randell Jesup [:jesup] (needinfo me)
1161433 Empty gUM constraints throw wrong error RESOLVED Nils Ohlmeier [:drno]

17 Total; 0 Open (0%); 17 Resolved (100%); 0 Verified (0%);

Firefox 39 (Release uplift 2015-06-30)

Full Query
ID Summary Status Assigned to
931903 Add mochitest to verify that forwarding a MediaStream from one PeerConnection to another succeeds RESOLVED Andreas Pehrson [:pehrsons] (PTO; back in Aug)
1046245 implement navigator.mediaDevices for enumeration local gUM audio & video sources RESOLVED Jan-Ivar Bruaroey [:jib] (needinfo? me)
1081819 WebAudio data isn't transmitting over established peerConnection RESOLVED Andreas Pehrson [:pehrsons] (PTO; back in Aug)
1100508 No easy way to capture data for a bug report from about:webrtc RESOLVED Paul Kerr [:pkerr]
1115703 onicecandidate event must set candidate.sdpMid RESOLVED
1123012 .../audio_coding/main/acm2/audio_coding_module_impl.cc:2075:10: error: reinterpret_cast from 'nullptr_t' to 'const webrtc::AudioEncoder *' is not RESOLVED Gian-Carlo Pascutto [:gcp]
1129748 about:webrtc should not depend on browser/ RESOLVED
1130175 build with musl libc: media/mtransport/third_party/nICEr/src/stun/addrs.c: sys/sysctl.h: No such file or directory RESOLVED Felix Janda
1135753 Mark some overridden virtual functions in WebRTC as MOZ_OVERRIDE RESOLVED (no longer active)
1135825 RTCIdentityProviderRegistrar.h:34:21: error: 'WrapObject' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] RESOLVED Daniel Holbert [:dholbert]
1136871 RTCRtpSender.replaceTrack doesn't work for a second call RESOLVED Jan-Ivar Bruaroey [:jib] (needinfo? me)
1137515 Enable WebRTC on Lollipop Gonk RESOLVED Sotaro Ikeda [:sotaro]
1138320 Set screensharing mode or video mode for WebRTC video sources RESOLVED karina
1139094 [steeplechase] tests are broken in multiple places RESOLVED Nils Ohlmeier [:drno]
1140677 Add RTPFragmentationHeader handling to EncOutputDrain::SendEncodedDataToCallback() RESOLVED Sotaro Ikeda [:sotaro]
1142494 Don't try to package the steeplechase tests if webrtc is disabled RESOLVED Ryan VanderMeulen [:RyanVM]
1142688 Intermittent test_peerConnection_webAudio.html | Input maxima 255 at index 33 should be within 10 steps of Output maxima 0 at index 1023 RESOLVED Andreas Pehrson [:pehrsons] (PTO; back in Aug)
1147153 Create additional translation notes in the aboutWebrtc.properties file RESOLVED Paul Kerr [:pkerr]

18 Total; 0 Open (0%); 18 Resolved (100%); 0 Verified (0%);

Firefox 38 (Release uplift 2015-05-12)

Full Query
ID Summary Status Assigned to
975144 Support electrolysis for WebRTC identity RESOLVED Martin Thomson [:mt:]
1104086 Intermittent 860143.html,863929.html,test_getUserMedia_peerIdentity.html | application crashed [@ mozilla::TrackUnionStream::CopyTrackData(mozilla::StreamBuffer::Track*, unsigned int, long long, long long, bool*)] RESOLVED Andreas Pehrson [:pehrsons] (PTO; back in Aug)
1109248 Update WebRTC code to webrtc.org stable branch 40 RESOLVED Randell Jesup [:jesup] (needinfo me)
1111666 RTCPeerConnection should throw and fail with properly named errors (use DOMException) RESOLVED Jan-Ivar Bruaroey [:jib] (needinfo? me)
1115212 Webrtc mochitests assume all remote tracks are delivered in a single onaddstream callback RESOLVED Nils Ohlmeier [:drno]
1116856 dynamically resize tab mirror video stream based on window size RESOLVED Brad Lassey [:blassey] (use needinfo?)
1119593 Overhaul PC test infrastructure RESOLVED Martin Thomson [:mt:]
1121176 Steeplechase test broken by bug 1091242 RESOLVED Nils Ohlmeier [:drno]
1122547 media/webrtc/trunk/webrtc/modules/video_coding/main/source/receiver.cc:162:14: error: call of overloaded 'abs(int64_t&)' is ambiguous RESOLVED Jan Beich
1124175 Debug Crash (screensharing?): Assertion failed: (qm_->codec_width % 2 == 0), function UpdateCodecResolution RESOLVED Randell Jesup [:jesup] (needinfo me)
1128052 Intermittent test_getUserMedia_callbacks.html | Unexpected callback for 'Error' with message = 'canplaythrough event never fired' at ["@http://mochi.test:8888/tests/dom/media/tests/mochitest/test_getUserMedia_callbacks.html:26:1",""] RESOLVED Martin Thomson [:mt:]
1128116 H264 in Nightly is incompatible with earlier versions of Firefox RESOLVED Randell Jesup [:jesup] (needinfo me)
1130223 webrtc fails on big endian after update to branch 40 RESOLVED Steve Singer (:stevensn)

13 Total; 0 Open (0%); 13 Resolved (100%); 0 Verified (0%);

Firefox 37 (Release uplift 2015-03-31)

Full Query
ID Summary Status Assigned to
938034 [B2G] GetUserMedia can provide recording callback in media stream RESOLVED Alfredo Yang (:alfredo)
1030372 Don't use WrapRunnable for Runnables with thread-specific release requirements RESOLVED Randell Jesup [:jesup] (needinfo me)
1039884 Intermittent test_dataChannel_basicAudio.html | Main app process exited normally | application crashed [@ mozilla::MediaStreamGraphImpl::AppendMessage(mozilla::ControlMessage*)] with Assertion failure: mCanRunMessagesSynchronously, at MediaStreamGraph.cpp RESOLVED Andreas Pehrson [:pehrsons] (PTO; back in Aug)
1053407 Convert PeerConnections's RTCError into DOMError and stop using __exposedProps__ RESOLVED Jan-Ivar Bruaroey [:jib] (needinfo? me)
1088758 Add the ability to mirror tabs from desktop to a second screen RESOLVED Brad Lassey [:blassey] (use needinfo?)
1091898 Update WebRTC with promises RESOLVED Jan-Ivar Bruaroey [:jib] (needinfo? me)
1106675 Replace peerConnection._queueOrRun with a promise-chain RESOLVED Jan-Ivar Bruaroey [:jib] (needinfo? me)
1108455 Execution of arbitrary addresses in relation to WebRTC MediaStreamgraph. RESOLVED Paul Adenot (:padenot)
1109552 Mismatched free() / delete / delete [] in webrtc::VPMContentAnalysis::Release() RESOLVED Randell Jesup [:jesup] (needinfo me)
1109683 Compare the first character of start_time and stop_time instead of the array itself; r=abr RESOLVED (no longer active)
1109841 Remove the C11 _Static_assert which checks a runtime condition RESOLVED (no longer active)
1110478 Remove unused remnants of non-standard connectDataConnection from Bug 852908 RESOLVED Jan-Ivar Bruaroey [:jib] (needinfo? me)
1111299 Use of uninitialised value in mozilla::PeerConnectionImpl::ConfigureJsepSessionCodecs RESOLVED Byron Campen [:bwc]
1112345 Tab streaming should scroll stream with layers and not offsets RESOLVED Brad Lassey [:blassey] (use needinfo?)
1112382 Remove the duplicated code for data channel tests RESOLVED Nils Ohlmeier [:drno]
1112967 Consolidate the requestFlakyTimeout() calls RESOLVED Nils Ohlmeier [:drno]
1116859 Tab mirror stream doesn't respect the max size passed in RESOLVED Brad Lassey [:blassey] (use needinfo?)
1118255 The about:webrtc page is broken RESOLVED Nicolas Perriault (:NiKo`) — needinfo me if you need my attention
1118432 Mark virtual overridden functions as MOZ_OVERRIDE in WebRTC; r=jesup RESOLVED (no longer active)
1119267 Mark virtual overridden functions as MOZ_OVERRIDE in media; r=jesup RESOLVED (no longer active)

20 Total; 0 Open (0%); 20 Resolved (100%); 0 Verified (0%);

Repository Location

All the Platform WebRTC code and the Desktop Loop Client code is in mozilla-central. There are no other active repos. If you are trying to come up to speed on any of our code, please feel free to come to #media on irc.mozilla.com. #media is our "virtual hallway". You can hang out, ask questions, and get answers.

Product Backlog

All work related to the ongoing development and maintenance of webRTC are collected and prioritized in the Product Backlog. The goals of the Product Backlog are to:

  • Enable work to be prioritized so that the team is always working on the most important features.
  • Support continual planning as the product emerges so the plan matches reality.
  • Improve forecasts so that the stakeholders make the best decisions about the direction of the product.

Product Backlog

Triage Guidelines

The Product Backlog is continually maintained to ensure relative priorities are understood. Individual priority may vary based circumstance.

  • Priorities follow the Firefox Desktop Standard:
    • Priority 1 - Blocker, must-fix before shipping.
    • Priority 2 - Major impact, considering severity × probability. Not a blocker for shipping.
    • Priority 3 - Average Bug. definitely a problem, but doesn't stop someone from using the product.
    • Priority 4 - Minor or polish bugs that are real issues (especially in aggregate) and annoying.
    • Priority 5 - Low-impact. something we'd fix, but mostly only bothers the discerning user. Little impact on usability.
  • RANK: As priority buckets start to have a large amount of bugs in them, the Rank field can be used to call attention to higher or lower rank and provide a way to sort easily in bugzilla. To have some rhyme/reason to the order - Rank should relate to Priority. The "Ranking" number does not need to be unique. Unless there is a reason to for a bug to be considered before (or after) others in the Priority bucket - default to mid-range value.
    • P1 Rank options=1-19, default 15
    • P2 Rank options=20-29, default 25
    • P3 Rank options=30-39, default 35
    • P4 Rank options=40-49, default 45
    • P5 Rank options=50-59, default 55
    • any that we don't think we can get to in the next 6 months should go in "backlog-" area

  • The Blocking-Flag called "Backlog" track bugs that are approved or not for the Backlog ("webRTC+", "parking lot")
  • QE-Verify is a flag that developers should be setting. QE uses to filter which bugs they check.
    • "+" means that QE should look at the bug and it can be verified with human eyes
    • "-" means QE should not look at
      • Typically QE-verify"-" goes with "in-testsuite" being set to "+", to show testing via another method.
  • "Points" should be set when known (if nothing set - assumed a "1" or very small). Most relevant if taking a bigger bug so we know when bugs are large bits of work.

Filing a bug

  • Open a bug under Product:"Core" || Component: "WebRTC, WebRTC:Audio, WebRTC:Network or WebRTC:Signaling"
    • After triage, bugs will be marked "firefox-blocking", with a Priority, and a Rank
  • If there is a bug that should be considered for taking ASAP - you can mark "firefox-backlog"+
    • Before it can be given a Rank it should:
      • be in an actionable state
      • for defects, the problem is ready for Engineering or UX: diagnosis, measurement, design, or fixing
      • for feature requests or enhancements, it means that there's a clear problem statement or suggestion
      • has a difficulty/user-impact ratio low enough that we can reasonably expect to spend time fixing the bug within the next 6 months

Blocking FxOS

Contributor Engagement

  • Add Whiteboard tag of [well filed] to the well filed bugs to acknowledge that we appreciate the effort and thoroughness
  • Add Whiteboard tag of [good first bug] for contributors to pick up

Project Status

Contacts and Useful Links

Meetings

Meeting Day of week Pacific Time Eastern Time Central European Time Vidyo Room Notes
"Weekly Stand-up" Wednesday 6:00AM - 6:30AM & 1:30 - 2:00 PM 9:00AM - 9:30PM & 4:30 - 5:00 PM 3:00PM - 3:30PM & - 10:30PM-11:00PM webRTC-Apps etherpad
  • Stand-up = 2 minutes on what have you been working on, planning to work on, and are you blocked. Bring-up topics for longer Discussion at end if needed.
    • Developers and active contributors only need to attend one of the two sessions each week. We have 2 sessions due to the number of very different time zones throughout the team.
    • please update the Stand-up Notes etherpad if you cannot make the meeting (even if it's just to say you're on PTO)
  • IETF Standards Meetings

Archived

Notes