|
|
(21 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| ==Reporting WebRTC Call Issues==
| | [https://firefox-source-docs.mozilla.org/contributing/debugging/debugging_webrtc_calls.html Moved Here] |
| The best way to report an issue is through Bugzilla using this [https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=WebRTC link]. Describing the issue you've run into, and include a URL along, with the details of the call setup.
| |
| | |
| For simple issues, the first place to look is to check the [https://firefox-source-docs.mozilla.org/devtools-user/web_console/ web developer console] for error messages related to media format issues. If you see messages here related to WebRTC, getUserMedia, or getDisplayMedia, please add this information to your bug.
| |
| | |
| '''Share Your about:webrtc Contents'''
| |
| | |
| # While your call is still ongoing, open a tab and visit about:webrtc<br />
| |
| # Click "Clear History" to clear the stats from other recent calls which are no longer ongoing.<br />
| |
| # At the bottom of the page click 'Save Page', and save this file.<br />
| |
| # Add this file as an attachment to your bug.<br />
| |
| This file contains statistics about your call, the signalling that was used to setup your call, and information about the network transports.
| |
| | |
| ==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.
| |
| {| 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==
| |
| One can use the "WebRTC" preset on the [about:logging] page with the [https://profiler.firefox.com/ Firefox Performance Profiler].
| |
| | |
| ==Examining Call Performance Issues==
| |
| ==Dumping Packet Headers==
| |
| ==Running WebRTC Tests==
| |
| ==Debugging Using 3rd Party Websites==
| |
| ==Using RR And/Or Pernosco==
| |