The existing WebRTC module is now considerably larger and more complex
than when it was first conceived, and the people working on it are
becoming increasingly specialized. In particular, there is a clear
distinction between the code that deals primarily with the media
subsystem and the code that deals with signaling. Splitting this module
would reflect the actual split in expertise between media processing and
signaling.
Name: WebRTC
Description: WebRTC is responsible for realtime audio and video
communication, as well as related issues like low-level camera and
microphone access
Module Owner: Randell Jesup
Peers: Eric Rescorla, Ethan Hugg, Byron Campen, Adam Roach
Source Dir(s): N/A (see submodules)
Bugzilla Component(s): Core::WebRTC
URL: https://wiki.mozilla.org/Media/webrtc
Submodules of WebRTC
Name: WebRTC Media
Description: Submodule of WebRTC responsible for access to media input
devices (microphones, cameras, screen capture), as well as realtime
audiovisual codecs and packetization.
Owner: Randell Jesup
Peer(s): Ethan Hugg, Paul Kerr
Source Dir(s): /media/webrtc, /dom/media/webrtc
Bugzilla Component(s): Core::WebRTC (Audio/Video)
Name: WebRTC Signaling
Description: Submodule of WebRTC responsible for implementation of
PeerConnection API, WebRTC identity, and SDP/JSEP handling.
Owner: Byron Campen
Peer(s): Eric Rescorla, Adam Roach, Randell Jesup, Nils Ohlmeier
Source Dir(s): /media/peerconnection, /dom/media/peerconnection (see below)
Bugzilla Component(s): Core::WebRTC (Signaling)
Historically, the code for these two areas has been intermingled pretty
freely under /media/webrtc and /dom/media/webrtc. With this module
split, I also propose a directory reorganization along the following
lines, allowing for concise statements about which files go with with of
the proposed new submodules.
The WebRTC Signaling module would be constituted as follows:
* Move /media/webrtc/signaling/src/peerconnection => /media/peerconnection
* Move /media/webrtc/signaling/src/jsep => /media/peerconnection/jsep
* Move /media/webrtc/signaling/src/sdp => /media/peerconnection/sdp
* The signaling-related unit tests would move from
/media/webrtc/signaling/test into /media/peerconnection/test
* The PeerConnection-related files under /dom/media would move to a
new /dom/media/peerconnection directory. These include
/dom/media/PeerConnection.js, /dom/media/PeerConnectionIdp.jsm, and
/dom/media/webrtc/PeerIdentity.{h,cpp}
At the same time, the structure of the media-related code has evolved to
be quite deep and somewhat labyrinthine. I would propose we take
advantage of this restructuring to simplify as follows:
* The remaining directories under /media/webrtc/signaling/src would
move to /media/webrtc
* The remaining files in /media/webrtc/signaling/test would move to
/media/webrtc/test
There are some minor exceptions to these general moves (e.g.,
/media/webrtc/signaling/src/common/time_profiling/ would find a new home
under /media/peerconnection, and
/media/webrtc/signaling/src/peerconnection/Media* would end up under
/media/webrtc), but these exceptions should be obvious and rather
limited in number.
--
Adam Roach
Principal Platform Engineer
a...@mozilla.com
+1 650 903 0800 x863
_______________________________________________
governance mailing list
governance@lists.mozilla.org
https://lists.mozilla.org/listinfo/governance