Media/WebRTC: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Update debugging link)
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
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 [http://www.webrtc.org/ WebRTC project page] set up by Google for interesting links and details.   
WebRTC is a free, open project that brings peer-to-peer real-time audio, video and data to the web without plugins, using open web [[standards]].  Checkout the [http://www.webrtc.org/ WebRTC project page] set up by Google for interesting links and details.   


==Releases & Notes==
==Releases & Notes==
*[https://wiki.mozilla.org/RapidRelease/Calendar Firefox Release Schedule Calendar]
*[https://wiki.mozilla.org/RapidRelease/Calendar Firefox Release Schedule Calendar]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/40 Firefox 40 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes Firefox 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]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/46 Firefox 46 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/47 Firefox 47 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/48 Firefox 48 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/49 Firefox 49 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/50 Firefox 50 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/51 Firefox 51 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/52 Firefox 52 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/53 Firefox 53 WebRTC & Web Audio Release Notes]
*[https://wiki.mozilla.org/Media/WebRTC/ReleaseNotes/54 Firefox 54 WebRTC & Web Audio Release Notes]


==Product Backlog==
===Triage Guidelines===
The Product Backlog is continually maintained to ensure relative priorities are understood.
 
* Priorities follow the Firefox Desktop Standard:
Go to [https://wiki.mozilla.org/Media/Bugs#WebRTC_Bugzilla_Queries WebRTC bugs] to search for all open WebRTC bugs (including untriaged and unconfirmed bugs).
Go to [https://wiki.mozilla.org/Media/Bugs#WebRTC_Bugzilla_Queries WebRTC bugs] to search for all open WebRTC bugs (including untriaged and unconfirmed bugs).


===Triage Guidelines===
** Priority 1 - Blocker, must-fix before shipping. Almost by definition of P1, the "affected" flags and "tracking" flags for the bug should be set when it's triaged. 
The Product Backlog is continually maintained to ensure relative priorities are understood.  Individual priority may vary based circumstance.
** Priority 2 - High priority backlog (bugs we are currently working on or will be working on next)
* Priorities follow the Firefox Desktop Standard:
** Priority 3 - Lower priority backlog
** Priority 1 - Blocker, must-fix before shipping.  
** Priority 4 - Bugs we will accept patches for
** Priority 2 - Major impact,  considering severity × probability. Not a blocker for shipping.
** Priority 5 - Parking lot (Bugs we do not plan to spend any time on)
** 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.
*RANK: The Rank field lets us prioritize bugs within a priority bucket (P2, P3, etc) 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 - the triager will default to mid-range value.
** P1  Rank options=1-19, default 15
** P1  Rank options=0-9, default 5
** P2  Rank options=20-29, default 25
** P2  Rank options=10-19, default 15
** P3  Rank options=30-39, default 35
** P3  Rank options=20-29, default 25
** P4  Rank options=40-49, default 45
** P4  Rank options=30-39, default 35
** P5  Rank options=50-59, default 55
** P5  Rank options=40-49, default 45
** any valid bugs that we don't believe we'll ever put resources on, but would accept patches for, go in "parking-lot" area
*** Note: P5 and "parking-lot"-labelled bugs are treated identically.  We no longer use "parking-lot"; it is a legacy classification.


<p> </p>
<p> </p>
*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.
*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 that QE should look at the bug and it can be verified with human eyes
**"-" means QE should not look at
**"-" means QE should not look at
***Typically QE-verify"-" goes with "in-testsuite" being set to "+", to show testing via another method.
***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===
===Filing a bug===
Line 61: Line 45:
* Add Whiteboard tag of [well filed] to the well filed bugs to acknowledge that we appreciate the effort and thoroughness
* 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
* Add Whiteboard tag of [good first bug] for contributors to pick up
==libwebrtc Updates==
* One can find documentation on the current libwebrtc fast-forward update process [[Media/WebRTC/libwebrtc_Update_Process|here]].
* The research and history on developing the fast-forward update process is documented [[Media/WebRTC/libwebrtc_Update_Process/automation_plan|here]]
* The 2H2020 transition process is documented [[Media/WebRTC/libwebrtc_Update_Process_Transition_Plan|here]].
* The old libwebrtc update process is documented [[Media/WebRTC/Legacy_Updating_Process|here]].
==Up-streaming Changes==
* One can find instructions for up-streaming changes [[Media/WebRTC/Up_streaming_Changes|here]].


==libsrtp Updates==
Maintained by Cisco, libsrtp needs to be vendored periodically. A description of that process can be found [[Meida/WebRTC/libsrtp_Update_Process|here]].
==Project Status ==
==Project Status ==
*[https://mozilla.aha.io/published/b40393012432847d857ee68299a8a82f?page=2 Detailed Roadmap], noting that the further out the more lose the targets are]
*[https://mozilla.aha.io/published/b40393012432847d857ee68299a8a82f?page=2 Detailed Roadmap], noting that the further out the more lose the targets are]
Line 69: Line 62:
*[https://wiki.mozilla.org/Webrtc/contacts Contacts for WebRTC]
*[https://wiki.mozilla.org/Webrtc/contacts Contacts for WebRTC]
*[https://wiki.mozilla.org/Webrtc/links Useful Links for WebRTC]
*[https://wiki.mozilla.org/Webrtc/links Useful Links for WebRTC]
*[https://wiki.mozilla.org/Media/WebRTC/Tests Running tests for WebRTC in Firefox]
*[https://wiki.mozilla.org/Media/WebRTC/Logging Getting WebRTC logs in Firefox]
*[https://wiki.mozilla.org/Media/WebRTC/WebRTC_Debugging Debugging WebRTC Calls]
*[https://tools.ietf.org/html/draft-ietf-rtcweb-mdns-ice-candidates-04 IETF Draft: "Using ''Multicast DNS'' to protect '''privacy''' when exposing ''ICE'' candidates"] (AKA mDNS; Interactive Connectivity Establishment (ICE) [RFC 5245] protocol)
*[[Media/WebRTC/Privacy]]
*[[Media/WebRTC/Architecture]]
*[https://wiki.mozilla.org/index.php?search=Media%2FWebRTC%2F&title=Special%3ASearch&fulltext=1 etc.]


==Meetings==
==Meetings==

Latest revision as of 19:04, 10 August 2023

WebRTC is a free, open project that brings 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.

Releases & Notes

Triage Guidelines

The Product Backlog is continually maintained to ensure relative priorities are understood.

  • Priorities follow the Firefox Desktop Standard:

Go to WebRTC bugs to search for all open WebRTC bugs (including untriaged and unconfirmed bugs).

    • Priority 1 - Blocker, must-fix before shipping. Almost by definition of P1, the "affected" flags and "tracking" flags for the bug should be set when it's triaged.
    • Priority 2 - High priority backlog (bugs we are currently working on or will be working on next)
    • Priority 3 - Lower priority backlog
    • Priority 4 - Bugs we will accept patches for
    • Priority 5 - Parking lot (Bugs we do not plan to spend any time on)
  • RANK: The Rank field lets us prioritize bugs within a priority bucket (P2, P3, etc) 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 - the triager will default to mid-range value.
    • P1 Rank options=0-9, default 5
    • P2 Rank options=10-19, default 15
    • P3 Rank options=20-29, default 25
    • P4 Rank options=30-39, default 35
    • P5 Rank options=40-49, default 45
      • Note: P5 and "parking-lot"-labelled bugs are treated identically. We no longer use "parking-lot"; it is a legacy classification.

  • 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.

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

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

libwebrtc Updates

  • One can find documentation on the current libwebrtc fast-forward update process here.
  • The research and history on developing the fast-forward update process is documented here
  • The 2H2020 transition process is documented here.
  • The old libwebrtc update process is documented here.

Up-streaming Changes

  • One can find instructions for up-streaming changes here.

libsrtp Updates

Maintained by Cisco, libsrtp needs to be vendored periodically. A description of that process can be found here.

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