139
edits
(Adding profiling link) |
(Adding logging modules table) |
||
| Line 14: | Line 14: | ||
==Logging== | ==Logging== | ||
Logging can be enabled through the "Enable WebRTC Log Preset" button at the bottom of [about:webrtc]. Alternatively one can set the following environment variable:<syntaxhighlight language="shell">MOZ_LOG="jsep:5,sdp:5,signaling:5,mtransport:5,RTCRtpReceiver:5,RTCRtpSender:5,RTCDMTFSender:5,VideoFrameConverter:5,WebrtcTCPSocket:5,CamerasChild:5,CamerasParent:5,VideoEngine:5,ShmemPool:5,TabShare:5,MediaChild:5,MediaParent:5,MediaManager:5,MediaTrackGraph:5,cubeb:5,MediaStream:5,MediaStreamTrack:5,DriftCompensator:5,ForwardInputTrack:5,MediaRecorder:5,MediaEncoder:5,TrackEncoder:5,VP8TrackEncoder:5,Muxer:5,GetUserMedia:5,MediaPipeline:5,PeerConnectionImpl:5,WebAudioAPI:5,webrtc_trace:5,RTCRtpTransceiver:5,ForwardedInputTrack:5,HTMLMediaElement:5,HTMLMediaElementEvents:5"</syntaxhighlight> Note that webrtc_trace will not be active until "Enable WebRTC Log Preset" is pressed. | Logging can be enabled through the "Enable WebRTC Log Preset" button at the bottom of [about:webrtc]. Alternatively one can set the following environment variable:<syntaxhighlight language="shell">MOZ_LOG="jsep:5,sdp:5,signaling:5,mtransport:5,RTCRtpReceiver:5,RTCRtpSender:5,RTCDMTFSender:5,VideoFrameConverter:5,WebrtcTCPSocket:5,CamerasChild:5,CamerasParent:5,VideoEngine:5,ShmemPool:5,TabShare:5,MediaChild:5,MediaParent:5,MediaManager:5,MediaTrackGraph:5,cubeb:5,MediaStream:5,MediaStreamTrack:5,DriftCompensator:5,ForwardInputTrack:5,MediaRecorder:5,MediaEncoder:5,TrackEncoder:5,VP8TrackEncoder:5,Muxer:5,GetUserMedia:5,MediaPipeline:5,PeerConnectionImpl:5,WebAudioAPI:5,webrtc_trace:5,RTCRtpTransceiver:5,ForwardedInputTrack:5,HTMLMediaElement:5,HTMLMediaElementEvents:5"</syntaxhighlight> Note that webrtc_trace will not be active until "Enable WebRTC Log Preset" is pressed. | ||
{| class="wikitable sortable" | |||
|- | |||
! Module !! Component !! Function !! Notes | |||
|- | |||
| jsep || signalling || JSEP state machine || | |||
|- | |||
| sdp || signalling || SDP parsing || | |||
|- | |||
| mtransport || networking || network transports || | |||
|- | |||
| RTCRtpReceiver || networking || receiving media and media control packets || | |||
|- | |||
| RTCRtpSender || networking || sending media and media control packets || | |||
|- | |||
| RTCDMTFSender || networking || sending DTMF messages || | |||
|- | |||
| VideoFrameConverter || ? || ? || | |||
|- | |||
| WebrtcTCPSocket || networking || ? || | |||
|- | |||
| CamerasChild || media capture || Content process end of IPC channel for receiving frames from media capture devices || | |||
|- | |||
| CamerasParent || media capture || Parent process end of IPC channel for sending frames from media capture devices || | |||
|- | |||
| VideoEngine || media capture || Orchestrates capture of frames from media capture devices in the parent process || | |||
|- | |||
| ShmemPool || media capture || Object pool of shared memory frame buffers for transferring media capture frames from parent to child process || | |||
|- | |||
| TabShare || media capture || ? | |||
|- | |||
|- MediaChild || media || ? | |||
|- | |||
|- MediaParent || media || ? | |||
|- | |||
|- MediaManager || media || ? | |||
|- | |||
|- MediaTrackGraph || media || ? | |||
|- | |||
|- cubeb || media || ? | |||
|- | |||
|- MediaStream || media || ? | |||
|- | |||
|- MediaStreamTrack || media || ? | |||
|- | |||
|- DriftCompensator || media || ? | |||
|- | |||
|- ForwardInputTrack || media || ? | |||
|- | |||
|- MediaRecorder || media || ? | |||
|- | |||
|- MediaEncoder || media || ? | |||
|- | |||
|- TrackEncoder || media || ? | |||
|- | |||
|- VP8TrackEncoder || media || ? | |||
|- | |||
|- Muxer || media || ? | |||
|- | |||
|- MediaPipeline || network || ??? delivers media packets from the transport | |||
|- | |||
|- PeerConnectionImpl || JS API || implements the RTCPeerConnection object | |||
|- | |||
|- WebAudioAPI || ?? || ? | |||
|- | |||
|- webrtc_trace || webrtc || libwebrtc logging || needs to be enabled from [about:webrtc] | |||
|- | |||
|- RTCRtpTransceiver || JS API || implements the RTCRtpTransceiver object | |||
|- | |||
|- ForwardedInputTrack || ?? || ? | |||
|- | |||
|- HTMLMediaElement || ?? || ? | |||
|- | |||
|- HTMLMediaElementEvents || ?? || ? | |||
|- | |||
|} | |||
==Profiling== | ==Profiling== | ||
One can use the "WebRTC" preset on the [about:logging] page with the [https://profiler.firefox.com/ Firefox Performance Profiler]. | One can use the "WebRTC" preset on the [about:logging] page with the [https://profiler.firefox.com/ Firefox Performance Profiler]. | ||
edits