commit fd67d67de7f3e22e6264ebfe7ad2aa5dfb5c3bd9
parent fa7b99c25be0aa9dbf68e9f0bec839bfe16a9767
Author: agoloman <agoloman@mozilla.com>
Date: Thu, 1 Jan 2026 02:30:48 +0200
Revert "Bug 2008063 - expand webrtc in-tree docs with terms;r=mjf" for causing lint failures @versionCode.gradle.
This reverts commit 186a57072c7dc730136d47268d2b4f42d9f08b75.
Diffstat:
1 file changed, 1 insertion(+), 766 deletions(-)
diff --git a/docs/contributing/debugging/debugging_webrtc_calls.rst b/docs/contributing/debugging/debugging_webrtc_calls.rst
@@ -975,14 +975,10 @@ provided below to help one navigate.
- Signalling
- This is the JSEP state engine implementation
-
- * - `dom/media/webrtc/libwebrtcglue <https://searchfox.org/mozilla-central/source/dom/media/webrtc/libwebrtcglue>`__
+ * - `media/webrtc/libwebrtcglue <https://searchfox.org/mozilla-central/source/dom/media/webrtc/libwebrtcglue>`__
- WebRTC (various)
- This is the glue code between libwebrtc and Firefox
-
- * - `dom/media/webrtc/libwebrtc_overrides <https://searchfox.org/mozilla-central/source/dom/media/webrtc/libwebrtc_overrides>`__
- - WebRTC (various)
- - Firefox-specific overrides for libwebrtc components
- -
* - `dom/media/webrtc/sdp <https://searchfox.org/mozilla-central/source/dom/media/webrtc/sdp>`__
- Signalling
- This contains the SDP parsing interface
@@ -999,10 +995,6 @@ provided below to help one navigate.
- Network
- This contains the ICE implementation, the MDNS implementation, and transport code
-
- * - `dom/media/webrtc/transport/ipc <https://searchfox.org/mozilla-central/source/dom/media/webrtc/transport/ipc>`__
- - Network
- - IPDL protocols for WebRTC transport, including STUN address requests and WebRTC TCP sockets
- -
* - `dom/media/webrtc/transportbridge <https://searchfox.org/mozilla-central/source/dom/media/webrtc/transportbridge>`__
- WebRTC
- This contains the MediaPipeline and MediaPipeline filter code which is glue between transport and the libwebrtc RTP stack
@@ -1027,46 +1019,6 @@ provided below to help one navigate.
- Media Capture
- GetUserMedia and related classes are here
- There are many other unrelated media source files here
- * - `dom/media/systemservices <https://searchfox.org/mozilla-central/source/dom/media/systemservices>`__
- - Media Capture
- - System services for media capture including camera/microphone access
- - Contains CamerasChild, CamerasParent, VideoEngine, and platform-specific implementations
- * - `dom/media/encoder <https://searchfox.org/mozilla-central/source/dom/media/encoder>`__
- - Media Encoding
- - Media encoders for recording, including Opus and VP8 track encoders
- -
- * - `dom/media/gmp <https://searchfox.org/mozilla-central/source/dom/media/gmp>`__
- - Media Codecs
- - Gecko Media Plugin (GMP) framework for sandboxed codec plugins
- - Used by WebRTC for H.264 codec support
- * - `dom/media/platforms <https://searchfox.org/mozilla-central/source/dom/media/platforms>`__
- - Media Codecs
- - Platform-specific encoder/decoder implementations (Apple, Android, FFmpeg, WMF)
- - Contains PlatformEncoderModule and EncoderConfig used by WebRTC
- * - `netwerk/sctp/datachannel <https://searchfox.org/mozilla-central/source/netwerk/sctp/datachannel>`__
- - Data Channels
- - SCTP-based data channel implementation
- -
- * - `browser/components/webrtc <https://searchfox.org/mozilla-central/source/browser/components/webrtc>`__
- - Browser UI
- - Browser-level WebRTC UI components including permission prompts and indicators
- -
- * - `toolkit/content/aboutwebrtc <https://searchfox.org/mozilla-central/source/toolkit/content/aboutwebrtc>`__
- - Debugging
- - Implementation of the about:webrtc debugging page
- -
- * - `media/webrtc/signaling <https://searchfox.org/mozilla-central/source/media/webrtc/signaling>`__
- - Signalling
- - WebRTC signaling implementation and GTests
- -
- * - `browser/base/content/test/webrtc <https://searchfox.org/mozilla-central/source/browser/base/content/test/webrtc>`__
- - Tests
- - Browser chrome tests for WebRTC getUserMedia and getDisplayMedia
- -
- * - `testing/web-platform/tests/webrtc <https://searchfox.org/mozilla-central/source/testing/web-platform/tests/webrtc>`__
- - Tests
- - Web Platform Tests for WebRTC conformance
- - Also includes webrtc-encoded-transform, webrtc-extensions, webrtc-ice, webrtc-identity, webrtc-priority, webrtc-stats, webrtc-svc
* - `dom/webidl <https://searchfox.org/mozilla-central/source/dom/webidl>`__
- WebIDL (JS API)
- This contains the WebIDL definitions for the WebRTC JS API amongst many other WebIDL definitions
@@ -1099,720 +1051,3 @@ send side to play out on receive side to be
::
25ms + (272ms / 2) = 161ms
-
-.. _glossary:
-
-Appendix: WebRTC Glossary
--------------------------
-
-Session Management Terms
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-**Offer** An SDP document created by one peer to initiate a connection,
-proposing media parameters and capabilities.
-
-**Answer** An SDP document created in response to an offer, accepting or
-rejecting the proposed media parameters.
-
-**Pranswer (Provisional Answer)** A preliminary answer that may be
-modified before the final answer is accepted, allowing for early media
-establishment.
-
-**Rollback** The action of reverting to a previous stable session state,
-typically used when negotiation fails or needs to be cancelled. During
-offer/answer negotiation, the ICE agent automatically initiates rollback
-when an offer collision occurs (e.g., receiving an offer while in
-have-local-offer state). Learn more about `perfect
-negotiation <https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Perfect_negotiation>`__
-on MDN and RFC 9429
-`§4.1.10.2 <https://www.rfc-editor.org/rfc/rfc9429#section-4.1.10.2>`__
-and `§5.7 <https://www.rfc-editor.org/rfc/rfc9429#section-5.7>`__.
-
-**Perfect Negotiation** A design pattern for WebRTC signaling that
-handles offer collisions gracefully using rollback, allowing both peers
-to attempt to be the offerer simultaneously without complex glare
-handling logic. Learn more about `perfect
-negotiation <https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Perfect_negotiation>`__
-on MDN.
-
-**Signaling State** The current state of the offer/answer negotiation
-process (``stable``, ``have-local-offer``, ``have-remote-offer``,
-``have-local-pranswer``, ``have-remote-pranswer``, ``closed``). Learn
-more about
-`signalingState <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/signalingState>`__
-on MDN and RFC 9429
-`§3.2 <https://www.rfc-editor.org/rfc/rfc9429#section-3.2>`__.
-
-**Pending Description** An offer or answer that has been created or set
-but not yet matched with a corresponding answer or offer. Learn more
-about
-`pendingLocalDescription <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/pendingLocalDescription>`__
-and
-`pendingRemoteDescription <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/pendingRemoteDescription>`__
-on MDN and RFC 9429
-`§4.1.14 <https://www.rfc-editor.org/rfc/rfc9429#section-4.1.14>`__ and
-`§4.1.16 <https://www.rfc-editor.org/rfc/rfc9429#section-4.1.16>`__.
-
-**Current Description** The currently active local or remote session
-description after successful negotiation. Learn more about
-`currentLocalDescription <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/currentLocalDescription>`__
-and
-`currentRemoteDescription <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/currentRemoteDescription>`__
-on MDN and RFC 9429
-`§4.1.13 <https://www.rfc-editor.org/rfc/rfc9429#section-4.1.13>`__ and
-`§4.1.15 <https://www.rfc-editor.org/rfc/rfc9429#section-4.1.15>`__.
-
-Transport and Bundle Terms
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-**Bundle Policy** Controls how multiple media tracks are combined onto a
-single transport (``balanced``, ``max-compat``, ``max-bundle``). Learn
-more about
-`transports <https://developer.mozilla.org/en-US/docs/Web/API/RTCDtlsTransport#allocation_of_dtls_transports>`__
-and `bundle
-configuration <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/RTCPeerConnection#bundlepolicy>`__
-on MDN.
-
-**Bundle Level** The m-line index of the media section that provides the
-transport for bundled media.
-
-**Transport ID** A unique identifier for a transport used to carry media
-or data.
-
-**ICE Restart** The process of restarting ICE candidate gathering and
-connectivity checks, typically to recover from network changes.
-
-**ICE Trickle** A technique where ICE candidates are incrementally sent
-to the remote peer as they are gathered, rather than waiting for all
-candidates to be collected before beginning negotiation. Learn more
-about
-`connectivity <https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Connectivity>`__
-on MDN and `trickle
-detection <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/canTrickleIceCandidates>`__
-on in the JSEP spec.
-
-**ICE Credentials (ufrag/pwd)** Username fragment and password used for
-ICE connectivity checks.
-
-**DTLS Fingerprint** A cryptographic hash of the DTLS certificate used
-to verify the identity of the peer. Learn more about `RTCCertificate
-fingerprints <https://developer.mozilla.org/en-US/docs/Web/API/RTCCertificate/getFingerprints>`__
-on MDN and RFC 8122
-`§5 <https://www.rfc-editor.org/rfc/rfc8122#section-5>`__ and RFC 4572
-`§1 <https://www.rfc-editor.org/rfc/rfc4572#section-1>`__.
-
-**ICE Lite** A simplified ICE implementation that only acts as a
-controlled agent, used by servers. Learn more about ICE Lite in RFC 8445
-`§3 <https://www.rfc-editor.org/rfc/rfc8445#section-3>`__.
-
-**ICE Controlling** The ICE agent role that makes the final decision on
-which candidate pair to use.
-
-**Candidate** An ICE candidate describing the protocols and routing
-needed for WebRTC to communicate with a remote device. Each candidate
-specifies network connectivity information including IP address, port,
-transport protocol, and candidate type (host, srflx, prflx, relay).
-Candidates are gathered during connection establishment and exchanged
-between peers. Learn more about
-`RTCIceCandidate <https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidate>`__
-on MDN and RFC 8445
-`§2 <https://www.rfc-editor.org/rfc/rfc8445#section-2>`__.
-
-**Candidate Pair** A pairing of a local and remote ICE candidate that
-together describe a viable connection path between two WebRTC endpoints.
-During ICE connectivity checks, candidate pairs are tested to determine
-which provides the best connection. The selected candidate pair is used
-for media and data transport. Learn more about
-`RTCIceCandidatePair <https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidatePair>`__
-and `candidate pair
-stats <https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidatePairStats>`__
-on MDN and RFC 8445
-`§2 <https://www.rfc-editor.org/rfc/rfc8445#section-2>`__.
-
-Codec and Media Encoding Terms
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-**Payload Type (PT)** A numeric identifier (0-127) in RTP packets that
-identifies the codec being used. Payload types 0-95 are statically
-assigned for common codecs, while 96-127 are dynamically assigned and
-negotiated via SDP. Learn more about `RTP
-parameters <https://www.iana.org/assignments/rtp-parameters>`__ via the
-IANA registry where many of the relevant RFCs for specific formats are
-linked.
-
-**FMTP (Format Parameters)** SDP attribute containing codec-specific
-parameters like profile, level, or packetization mode.
-
-**RTX (Retransmission)** A mechanism for retransmitting lost RTP
-packets, using a separate payload type.
-
-**RED (Redundant Encoding)** A mechanism for including redundant data in
-RTP packets to help with packet loss recovery.
-
-**ULPFEC (Uneven Level Protection Forward Error Correction)** Forward
-error correction mechanism for protecting video streams against packet
-loss. Learn more about ULPFEC in RFC 5109
-`§1 <https://datatracker.ietf.org/doc/html/rfc5109#section-1>`__.
-
-**FEC (Forward Error Correction)** Technique of adding redundancy to
-transmitted data to allow recovery from errors without retransmission.
-
-**Opus** A versatile audio codec widely used in WebRTC, supporting both
-voice and music at various bitrates. Learn more about
-`Opus <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/WebRTC_codecs#opus>`__
-on MDN.
-
-**VP8** An open video codec developed by Google, mandatory for WebRTC
-implementations. Learn more about
-`VP8 <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/WebRTC_codecs#vp8>`__
-on MDN.
-
-**VP9** An improved successor to VP8, offering better compression
-efficiency.
-
-**AV1** A modern open video codec offering significant compression
-improvements over VP9. Learn more about
-`AV1 <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/WebRTC_codecs#av1>`__
-on MDN.
-
-**H.264/AVC (Advanced Video Coding)** A widely-used video codec,
-mandatory for WebRTC implementations. Learn more about
-`AVC/H.264 <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/WebRTC_codecs#avc_h.264>`__
-on MDN.
-
-**H.265/HEVC (High Efficiency Video Coding)** A successor to H.264
-offering improved compression efficiency, with hardware-dependent
-support in modern browsers. Chrome 136+ and Safari support H.265 in
-WebRTC when available via hardware. Learn more about `video
-codecs <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/Video_codecs>`__
-on MDN.
-
-**G.722** A wideband audio codec operating at 64 kbit/s. Learn more
-about
-`G.722 <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/Audio_codecs#g.722_64_kbps_7_khz_audio_coding>`__
-on MDN.
-
-**PCMU/PCMA** G.711 audio codecs (μ-law and A-law) offering basic audio
-quality, mandatory for WebRTC. Learn more about
-`G.711 <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/WebRTC_codecs#g.711>`__
-on MDN.
-
-RTP Header Extensions and Features
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-**RTP Extension (extmap)** RTP header extensions that carry additional
-metadata like audio levels or video orientation.
-
-**SSRC (Synchronization Source)** A 32-bit identifier for a single
-source of RTP packets within an RTP session.
-
-**CNAME (Canonical Name)** A persistent identifier for an RTP source
-that remains constant across SSRCs.
-
-**RID (Restriction Identifier)** An identifier used in simulcast to
-distinguish between different encodings of the same source.
-
-**MID (Media Identification)** An identifier that associates an RTP
-stream with a specific m-line in the SDP.
-
-**MSID (Media Stream Identification)** An identifier that associates an
-RTP stream with a MediaStream and track.
-
-Common RTP Header Extensions
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-RTP header extensions carry additional metadata in RTP packets using the
-framework defined in RFC 8285. All extensions must be negotiated via SDP
-before use.
-
-**Audio Level (Client-to-Mixer)** Indicates the audio level of the RTP
-packet payload in -dBov, allowing servers to identify active speakers
-without decoding audio. URI:
-``urn:ietf:params:rtp-hdrext:ssrc-audio-level``. Learn more about `audio
-level
-indication <https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSender/getParameters#headerextensions>`__
-on MDN and RFC 6464
-`§1 <https://www.rfc-editor.org/rfc/rfc6464#section-1>`__.
-
-**Audio Level (Mixer-to-Client)** Indicates audio levels of contributing
-sources in a mixed audio stream. URI:
-``urn:ietf:params:rtp-hdrext:csrc-audio-level``. Learn more in RFC 6465
-`§1 <https://www.rfc-editor.org/rfc/rfc6465#section-1>`__.
-
-**Video Orientation (CVO)** Indicates the rotation needed for video
-frames (0, 90, 180, 270 degrees) to support orientation changes. URI:
-``urn:3gpp:video-orientation``. Learn more in 3GPP TS 26.114 and RFC
-8285 `§1 <https://www.rfc-editor.org/rfc/rfc8285#section-1>`__.
-
-**Transport-Wide Sequence Number** Provides sequence numbers for
-transport-wide congestion control feedback. URI:
-``http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions``.
-Learn more in draft-holmer-rmcat-transport-wide-cc-extensions
-`§2 <https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions#section-2>`__.
-
-**MID Header Extension** Carries the media identification tag in RTP
-packets for bundle multiplexing. URI:
-``urn:ietf:params:rtp-hdrext:sdes:mid``. Learn more in RFC 9143
-`§1 <https://www.rfc-editor.org/rfc/rfc9143#section-1>`__.
-
-**RID Header Extension** Identifies RTP streams in simulcast scenarios.
-URI: ``urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id``. Learn more in
-RFC 8852 `§1 <https://www.rfc-editor.org/rfc/rfc8852#section-1>`__.
-
-**Absolute Capture Time** Timestamps packets with NTP time when media
-was captured, enabling audio-video synchronization across hops. URI:
-``http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time``. Learn
-more in draft-ietf-avtcore-abs-capture-time
-`§1 <https://www.ietf.org/archive/id/draft-ietf-avtcore-abs-capture-time-00.html#section-1>`__.
-
-**Transmission Time Offset** Communicates the offset between RTP
-timestamp and actual transmission time, useful for handling
-retransmissions and buffering. URI:
-``urn:ietf:params:rtp-hdrext:toffset``. Learn more in RFC 5450
-`§1 <https://www.rfc-editor.org/rfc/rfc5450#section-1>`__.
-
-**Absolute Send Time** Timestamps packets with departure time from the
-sender, providing precise timing for bandwidth estimation. URI:
-``http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time``. Learn
-more in the `abs-send-time
-specification <https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/abs-send-time/>`__.
-
-**Video Content Type** Indicates whether video is screenshare or camera
-content, enabling optimized rendering. URI:
-``http://www.webrtc.org/experiments/rtp-hdrext/video-content-type``.
-Learn more in the `video-content-type
-specification <https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/video-content-type/>`__.
-
-**Video Timing** Provides per-frame timing information including encode
-start/finish, packetization, and pacer timestamps for performance
-analysis. URI:
-``http://www.webrtc.org/experiments/rtp-hdrext/video-timing``. Learn
-more in the `video-timing
-specification <https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/video-timing/>`__.
-
-**Playout Delay** Allows sender to specify minimum and maximum playout
-delay ranges, enabling latency control for different use cases (gaming,
-streaming, conferencing). URI:
-``http://www.webrtc.org/experiments/rtp-hdrext/playout-delay``. Learn
-more in the `playout-delay
-specification <https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/playout-delay/>`__.
-
-**Color Space** Communicates color space information and HDR metadata
-for proper video rendering. URI:
-``http://www.webrtc.org/experiments/rtp-hdrext/color-space``. Learn more
-in the `color-space
-specification <https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/color-space/>`__.
-
-**Video Frame Tracking ID** Propagates VideoFrame ID field through RTP
-packets for frame tracking. URI:
-``http://www.webrtc.org/experiments/rtp-hdrext/video-frame-tracking-id``.
-This is only for quality testing purposes and should not be used in
-production. Learn more in the `video-frame-tracking-id
-specification <https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/rtp-hdrext/video-frame-tracking-id/>`__.
-
-**Dependency Descriptor** Conveys information about video frames and
-their dependencies in a codec-agnostic way, enabling selective
-forwarding without decoding. Designed for AV1 but useful for other
-codecs. URI:
-``https://aomediacodec.github.io/av1-rtp-spec/#dependency-descriptor-rtp-header-extension``.
-Learn more in the `AV1 RTP
-specification <https://aomediacodec.github.io/av1-rtp-spec/>`__.
-
-**SDES Items in RTP Headers** Allows rapid delivery of RTCP Source
-Description items (like CNAME) via RTP header extensions. Learn more in
-RFC 7941 `§1 <https://www.rfc-editor.org/rfc/rfc7941#section-1>`__.
-
-Simulcast and Encoding Terms
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-**Simulcast** Simultaneously sending multiple encoded versions of the
-same video source at different qualities. Codecs may have optimizations
-that improve performance when encoding the same frame at different
-resolutions.
-
-**SVC (Scalable Video Coding)** A video coding technique that encodes a
-single bitstream that can be decoded at different resolutions, frame rates,
-or quality levels to adapt to varying network conditions and receiver
-capabilities. Unlike simulcast which sends multiple independent streams, WebRTC
-SVC produces one encoded stream on a single SSRC. Scalability modes use **L**
-for spatial layers (resolution scalability) and **T** for temporal layers
-(frame rate scalability), such as L1T2 or L3T3. SVC is particularly useful
-for Selective Forwarding Units (SFUs) which can selectively forward layers
-to adapt to varying network conditions without re-encoding. Learn more about
-`scalability modes
-<https://developer.mozilla.org/en-US/docs/Web/API/RTCOutboundRtpStreamStats/scalabilityMode>`__
-on MDN and in the W3C `Scalable Video Coding (SVC) Extension
-<https://www.w3.org/TR/webrtc-svc/>`__ specification.
-
-**Encoding** A single encoded representation of media, identified by an
-SSRC or RID.
-
-**Send Track / Recv Track** Internal representation of media direction -
-tracks for sending media and tracks for receiving media.
-
-**Transceiver** A pairing of a sender and receiver that share a common
-mid value, managing bidirectional media.
-
-**Negotiated Details** The final agreed-upon parameters for a track
-after offer/answer negotiation completes.
-
-SDP Attributes and Parameters
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-**M-line (Media Description Line)** An SDP line beginning with ``m=``
-that defines a media stream, specifying the media type (audio, video,
-etc.), port, transport protocol, and codec format. The interpretation of
-the format is dependent on the selected protocol. Each m-line starts a
-new media section that continues until the next m-line or end of the
-SDP. Learn more about
-`SDP <https://developer.mozilla.org/en-US/docs/Glossary/SDP>`__ on MDN
-and RFC 8866
-`§5.14 <https://www.rfc-editor.org/rfc/rfc8866#section-5.14>`__.
-
-**Direction Attribute** SDP attribute indicating media stream direction
-(``sendrecv``, ``sendonly``, ``recvonly``, ``inactive``).
-
-**Setup Role** DTLS role in the connection (``active``, ``passive``,
-``actpass``) determining who initiates the handshake.
-
-**TIAS (Transport Independent Application Specific Maximum)** Bandwidth
-constraint indicating maximum bitrate in bits per second. Learn more
-about
-`maxBitrate <https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSender/setParameters#maxbitrate>`__
-on MDN and RFC 3890
-`§6.2.2 <https://datatracker.ietf.org/doc/html/rfc3890#section-6.2.2>`__.
-
-H.264 Format Parameters
-~~~~~~~~~~~~~~~~~~~~~~~
-
-**H.264 Profile Level ID** H.264-specific parameter indicating the codec
-profile (baseline, main, high) and level (capability). Signaled in SDP
-via the ``profile-level-id`` FMTP parameter. Learn more about `H.264
-profile-level-id <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/WebRTC_codecs#profile-level-id>`__
-on MDN and RFC 6184
-`§8.1 <https://www.rfc-editor.org/rfc/rfc6184#section-8.1>`__.
-
-**H.264 Max-FS (Maximum Frame Size)** Video codec parameter limiting the
-maximum number of macroblocks in a frame. Signaled in SDP via the
-``max-fs`` FMTP parameter for H.264. Learn more about
-`max-fs <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/WebRTC_codecs#max-fs>`__
-on MDN and RFC 6184
-`§8.1 <https://www.rfc-editor.org/rfc/rfc6184#section-8.1>`__.
-
-**H.264 Max-FR (Maximum Frame Rate)** Video codec parameter limiting the
-maximum frame rate in frames per second. Signaled in SDP via the
-``max-fr`` FMTP parameter for H.264. Learn more about
-`maxFramerate <https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSender/setParameters#maxframerate>`__
-on MDN and RFC 6184
-`§8.1 <https://www.rfc-editor.org/rfc/rfc6184#section-8.1>`__.
-
-**H.264 Max-BR (Maximum Bitrate)** Video codec parameter limiting the
-maximum bitrate. Signaled in SDP via the ``max-br`` FMTP parameter for
-H.264. Learn more about
-`maxBitrate <https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSender/setParameters#maxbitrate>`__
-on MDN and RFC 6184
-`§8.1 <https://www.rfc-editor.org/rfc/rfc6184#section-8.1>`__.
-
-**H.264 Max-MBPS (Maximum Macroblocks Per Second)** H.264 parameter
-limiting the processing rate. Signaled in SDP via the ``max-mbps`` FMTP
-parameter. Learn more about
-`max-mbps <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/WebRTC_codecs#max-mbps>`__
-on MDN and RFC 6184
-`§8.1 <https://www.rfc-editor.org/rfc/rfc6184#section-8.1>`__.
-
-**H.264 Sprop-parameter-sets** H.264 parameter containing SPS/PPS data
-for decoder initialization. Signaled in SDP via the
-``sprop-parameter-sets`` FMTP parameter. Learn more in RFC 6184
-`§8.1 <https://www.rfc-editor.org/rfc/rfc6184#section-8.1>`__.
-
-**H.264 Packetization Mode** H.264 parameter specifying the
-packetization method for RTP packets. Mode 0 uses single NAL unit
-packets, while Mode 1 allows for more efficient fragmentation and
-aggregation of NAL units. Signaled in SDP via the ``packetization-mode``
-FMTP parameter. Learn more in RFC 6184
-`§8.1 <https://www.rfc-editor.org/rfc/rfc6184#section-8.1>`__.
-
-VP8 Format Parameters
-~~~~~~~~~~~~~~~~~~~~~
-
-**VP8 Max-FS (Maximum Frame Size)** VP8 parameter limiting the maximum
-frame size in units of macroblocks that the decoder can decode. The
-decoder can handle frame widths and heights up to int(sqrt(max-fs \* 8))
-macroblocks. For example, max-fs=1200 supports up to 640x480 resolution
-(97 macroblocks width/height, or 1552 pixels). Signaled in SDP via the
-``max-fs`` FMTP parameter. Learn more in RFC 7741
-`§6.1 <https://www.rfc-editor.org/rfc/rfc7741#section-6.1>`__.
-
-**VP8 Max-FR (Maximum Frame Rate)** VP8 parameter limiting the maximum
-frame rate in frames per second that the decoder can decode. Signaled in
-SDP via the ``max-fr`` FMTP parameter. Learn more in RFC 7741
-`§6.1 <https://www.rfc-editor.org/rfc/rfc7741#section-6.1>`__.
-
-VP9 Format Parameters
-~~~~~~~~~~~~~~~~~~~~~
-
-**VP9 Profile-ID** VP9 parameter indicating the codec profile (0-3).
-Profile 0 supports 8-bit 4:2:0 only, Profile 1 adds 8-bit 4:2:2/4:4:4,
-Profile 2 adds 10/12-bit 4:2:0, and Profile 3 adds 10/12-bit
-4:2:2/4:4:4. When not present, a value of 0 is inferred. Signaled in SDP
-via the ``profile-id`` FMTP parameter. Learn more in RFC 9628
-`§6 <https://www.rfc-editor.org/rfc/rfc9628#section-6>`__.
-
-**VP9 Max-FS (Maximum Frame Size)** VP9 parameter limiting the maximum
-frame size in units of macroblocks that the decoder can decode. Signaled
-in SDP via the ``max-fs`` FMTP parameter. Learn more in RFC 9628
-`§6 <https://www.rfc-editor.org/rfc/rfc9628#section-6>`__.
-
-**VP9 Max-FR (Maximum Frame Rate)** VP9 parameter limiting the maximum
-frame rate in frames per second that the decoder can decode. Signaled in
-SDP via the ``max-fr`` FMTP parameter. Learn more in RFC 9628
-`§6 <https://www.rfc-editor.org/rfc/rfc9628#section-6>`__.
-
-AV1 Format Parameters
-~~~~~~~~~~~~~~~~~~~~~
-
-**AV1 Profile** AV1 parameter indicating the codec profile (Main, High,
-or Professional). The profile determines the supported bit depths and
-chroma subsampling formats. Signaled in SDP via the ``profile``
-parameter. Learn more in the `AV1 RTP
-specification <https://aomediacodec.github.io/av1-rtp-spec/#sdp-parameters>`__.
-
-**AV1 Level-IDX** AV1 parameter indicating the level, which defines the
-decoder’s maximum processing capabilities including resolution, frame
-rate, and bitrate. Signaled in SDP via the ``level-idx`` parameter.
-Learn more in the `AV1 RTP
-specification <https://aomediacodec.github.io/av1-rtp-spec/#sdp-parameters>`__.
-
-**AV1 Tier** AV1 parameter indicating the tier (Main or High), which
-determines the maximum bitrate for a given level. High tier allows
-roughly 2x the bitrate of Main tier. Signaled in SDP via the ``tier``
-parameter. Learn more in the `AV1 RTP
-specification <https://aomediacodec.github.io/av1-rtp-spec/#sdp-parameters>`__.
-
-H.265/HEVC Format Parameters
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-**H.265 Profile-ID** H.265 parameter indicating the codec profile along
-with profile-space. Profiles include Main, Main 10, Main Still Picture,
-and others that determine supported bit depths and features. Signaled in
-SDP via the ``profile-id`` FMTP parameter. Learn more in RFC 7798
-`§7.1 <https://www.rfc-editor.org/rfc/rfc7798#section-7.1>`__.
-
-**H.265 Level-ID** H.265 parameter indicating the level, which defines
-the decoder’s maximum processing capabilities including resolution,
-frame rate, and bitrate. Signaled in SDP via the ``level-id`` FMTP
-parameter. Learn more in RFC 7798
-`§7.1 <https://www.rfc-editor.org/rfc/rfc7798#section-7.1>`__.
-
-**H.265 Tier-Flag** H.265 parameter indicating the tier (Main=0 or
-High=1), which determines the maximum bitrate for a given level. High
-tier supports higher bitrates than Main tier at the same level. Signaled
-in SDP via the ``tier-flag`` FMTP parameter. Learn more in RFC 7798
-`§7.1 <https://www.rfc-editor.org/rfc/rfc7798#section-7.1>`__.
-
-**H.265 Max-LSR (Maximum Luma Sample Rate)** H.265 parameter indicating
-the maximum processing rate in units of luma samples per second,
-allowing receivers to signal capabilities beyond the base level
-requirements. Signaled in SDP via the ``max-lsr`` FMTP parameter. Learn
-more in RFC 7798
-`§7.1 <https://www.rfc-editor.org/rfc/rfc7798#section-7.1>`__.
-
-**H.265 Max-FPS (Maximum Frame Rate)** H.265 parameter indicating the
-maximum picture rate in units of pictures per 100 seconds, used to
-signal a constraint that lowers the maximum picture rate. Signaled in
-SDP via the ``max-fps`` FMTP parameter. Learn more in RFC 7798
-`§7.1 <https://www.rfc-editor.org/rfc/rfc7798#section-7.1>`__.
-
-**H.265 Max-BR (Maximum Bitrate)** H.265 parameter indicating the
-maximum bitrate capability of the receiver, extending beyond the base
-level requirements. Signaled in SDP via the ``max-br`` FMTP parameter.
-Learn more in RFC 7798
-`§7.1 <https://www.rfc-editor.org/rfc/rfc7798#section-7.1>`__.
-
-**H.265 Max-CPB (Maximum Coded Picture Buffer)** H.265 parameter
-indicating the maximum coded picture buffer size capability, allowing
-receivers to signal support for larger buffers than required by the base
-level. Signaled in SDP via the ``max-cpb`` FMTP parameter. Learn more in
-RFC 7798 `§7.1 <https://www.rfc-editor.org/rfc/rfc7798#section-7.1>`__.
-
-**H.265 Sprop-VPS/SPS/PPS** H.265 parameters containing VPS (Video
-Parameter Set), SPS (Sequence Parameter Set), and PPS (Picture Parameter
-Set) data for out-of-band decoder initialization. Signaled in SDP via
-the ``sprop-vps``, ``sprop-sps``, and ``sprop-pps`` FMTP parameters.
-Learn more in RFC 7798
-`§7.1 <https://www.rfc-editor.org/rfc/rfc7798#section-7.1>`__.
-
-RTCP Feedback Types
-~~~~~~~~~~~~~~~~~~~
-
-**RTCP Feedback (rtcp-fb)** Mechanisms for providing rapid feedback
-about media quality and requests.
-
-**NACK (Negative Acknowledgment)** RTCP feedback requesting
-retransmission of lost packets.
-
-**PLI (Picture Loss Indication)** RTCP feedback requesting a full
-intra-frame when video decoding fails. Learn more about PLI in RFC 4585
-`§6.3.1 <https://www.rfc-editor.org/rfc/rfc4585.html#section-6.3.1>`__.
-
-**FIR (Full Intra Request)** RTCP feedback requesting a full intra-frame
-for decoder refresh. Learn more about FIR in RFC 2032
-`§5.2.1 <https://www.rfc-editor.org/rfc/rfc2032#section-5.2.1>`__.
-
-**TMMBR (“timber”, Temporary Maximum Media Stream Bitrate Request)**
-RTCP feedback for requesting bitrate reduction. Learn more about TMMBR
-in RFC 5104
-`§3.5.4 <https://datatracker.ietf.org/doc/html/rfc5104#section-3.5.4>`__.
-
-**REMB (Receiver Estimated Maximum Bitrate)** RTCP feedback
-communicating receiver’s bandwidth estimate to the sender. Learn more
-about REMB in draft-alvestrand-rmcat-remb
-`§2 <https://datatracker.ietf.org/doc/html/draft-alvestrand-rmcat-remb#section-2>`__.
-
-**Transport-CC (Transport-wide Congestion Control)** Mechanism for
-gathering packet arrival times to estimate available bandwidth. Learn
-more about transport-cc in
-draft-holmer-rmcat-transport-wide-cc-extensions
-`§2 <https://datatracker.ietf.org/doc/html/draft-holmer-rmcat-transport-wide-cc-extensions#section-2>`__.
-
-**FlexFEC** Flexible forward error correction mechanism for RTP streams
-that can protect against packet loss by sending redundant recovery
-packets. Uses a separate RTP stream for FEC packets, allowing flexible
-configuration of protection levels. Learn more about FlexFEC in RFC 8627
-`§1 <https://datatracker.ietf.org/doc/html/rfc8627#section-1>`__.
-
-Audio-Specific Terms
-~~~~~~~~~~~~~~~~~~~~
-
-**DTX (Discontinuous Transmission)** Not transmitting audio packets
-during silence to save bandwidth. Signaled in SDP via the ``usedtx``
-FMTP parameter for Opus. Learn more about DTX in `supported audio
-codecs <https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/WebRTC_codecs#supported_audio_codecs>`__
-on MDN and RFC 7587
-`§6.1 <https://www.rfc-editor.org/rfc/rfc7587#section-6.1>`__.
-
-**In-band FEC** Opus-specific forward error correction included within
-the audio stream. Signaled in SDP via the ``useinbandfec`` FMTP
-parameter. Learn more in RFC 7587
-`§6.1 <https://www.rfc-editor.org/rfc/rfc7587#section-6.1>`__.
-
-**Stereo** Two-channel audio encoding. Stereo can either be
-independently encoded or, in some codecs like Opus, joint encoded.
-
-**Ptime (Packet Time)** The duration of media represented in a single
-RTP packet, in milliseconds. Learn more about ptime in RFC 8866
-`§6.4 <https://datatracker.ietf.org/doc/html/rfc8866#section-6.4>`__.
-
-**Maxptime (Maximum Packet Time)** The maximum acceptable ptime value.
-Learn more about maxptime in RFC 8866
-`§6.4 <https://www.rfc-editor.org/rfc/rfc8866#section-6.4>`__.
-
-**CBR (Constant Bitrate)** Encoding mode where bitrate remains constant
-regardless of content complexity. For Opus, signaled in SDP via the
-``cbr`` FMTP parameter. Learn more in RFC 7587
-`§6.1 <https://www.rfc-editor.org/rfc/rfc7587#section-6.1>`__.
-
-**VBR (Variable Bitrate)** Encoding mode where bitrate varies based on
-content complexity, allowing more efficient compression. This is the
-default mode for many codecs like Opus.
-
-**ABR (Adaptive Bitrate)** Encoding mode that dynamically adjusts
-bitrate in real-time based on network conditions and receiver feedback.
-In WebRTC, ABR uses bandwidth estimation algorithms (like Transport-CC)
-to continuously monitor connection quality and adapt the encoding
-bitrate to maintain optimal quality while preventing congestion. This
-differs from VBR which adapts to content complexity but not network
-conditions. Learn more about `bandwidth
-estimation <https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidatePairStats/availableOutgoingBitrate>`__
-on MDN.
-
-Data Channel Terms
-~~~~~~~~~~~~~~~~~~
-
-**SCTP (Stream Control Transmission Protocol)** Protocol used for WebRTC
-data channels, providing reliable or unreliable delivery. Learn more
-about
-`RTCSctpTransport <https://developer.mozilla.org/en-US/docs/Web/API/RTCSctpTransport>`__
-on MDN and RFC 9260
-`§1 <https://datatracker.ietf.org/doc/html/rfc9260#section-1>`__.
-
-**Data Channel** A bidirectional data transport for arbitrary
-application data over WebRTC. Learn more about
-`RTCDataChannel <https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel>`__
-on MDN and RFC 8831
-`§6.4 <https://datatracker.ietf.org/doc/html/rfc8831#name-data-channel-definition>`__.
-
-**SCTP Port** The port number used for SCTP associations in data
-channels.
-
-**Max Message Size** The maximum size of a single message that can be
-sent over a data channel.
-
-Session State and Lifecycle
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-**Associated** A transceiver that has been assigned a mid value during
-negotiation.
-
-**Negotiated** A transceiver that has completed offer/answer exchange
-and has agreed parameters.
-
-**Stopped** A transceiver that has been permanently stopped and cannot
-be reused.
-
-**Receptive** A transceiver’s ability to receive media based on the
-local description.
-
-**Add Track Magic** Special negotiation behavior where transceivers
-created via ``addTrack()`` can be reused during negotiation, unlike
-those created with ``addTransceiver()``. When applying a remote offer,
-``addTrack()``-created transceivers may be “stolen” to match incoming
-m-lines, while ``addTransceiver()``-created transceivers are never
-reused. Learn more about
-`addTrack <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack>`__
-and
-`addTransceiver <https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver>`__
-on MDN.
-
-Advanced Terms
-~~~~~~~~~~~~~~
-
-**Subprofile** H.264 profiles like Constrained Baseline, Baseline, Main,
-High, etc. Signaled in SDP via the ``profile-level-id`` FMTP parameter.
-Learn more in RFC 6184
-`§8.1 <https://www.rfc-editor.org/rfc/rfc6184#section-8.1>`__.
-
-**Level Asymmetry Allowed** H.264 parameter allowing different encoding
-levels in each direction. Signaled in SDP via the
-``level-asymmetry-allowed`` FMTP parameter. Learn more in RFC 6184
-`§8.1 <https://www.rfc-editor.org/rfc/rfc6184#section-8.1>`__.
-
-**Unique Receive Payload Types** Payload types that can be uniquely
-identified for SSRC-to-PT matching.
-
-**Preferred Codecs** User-specified codec ordering that overrides
-defaults. See Codec Preferences.
-
-**Codec Preferences** Settings controlling which codecs are enabled and
-their configurations, specified as an array of ``RTCRtpCodecCapability``
-objects in order of decreasing preference. Set via
-``setCodecPreferences()`` on an ``RTCRtpTransceiver`` to control which
-codecs are used during negotiation. Codecs not included in the
-preferences are excluded from negotiation. An empty list resets to user
-agent defaults. Learn more about
-`setCodecPreferences <https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpTransceiver/setCodecPreferences>`__
-on MDN.
-
-**RTCRtpScriptTransform** An interface that enables custom processing of
-encoded audio and video frames in WebRTC by inserting transform streams into
-sender and receiver pipelines. The transform runs in a Worker thread and
-receives encoded frames through a TransformStream, allowing real-time frame
-manipulation, encryption, analytics, or bandwidth optimization. Developers
-assign transforms to ``RTCRtpSender.transform`` for outgoing frames or
-``RTCRtpReceiver.transform`` for incoming frames. The worker receives an
-``rtctransform`` event with a ``transformer`` object containing readable and
-writable streams for processing. Learn more about
-`RTCRtpScriptTransform <https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpScriptTransform>`__
-and `Using WebRTC Encoded Transforms
-<https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Using_Encoded_Transforms>`__
-on MDN.