Lines Matching +full:video +full:- +full:codecs
4 * Use of this source code is governed by a BSD-style license
26 #include "api/video/resolution.h"
43 // SSRCs, since they use the full unsigned 32-bit range, and aren't expected to
48 // (such as codecs, by providing an external encoder factory), a string
60 LNTF, // "goog-lntf"
62 REMB, // "goog-remb"
80 // https://w3c.github.io/webrtc-pc/#idl-def-rtcdegradationpreference.
81 // These options are enforced on a best-effort basis. For instance, all of
84 // maintain-framerate option.
87 // Don't take any actions based on over-utilization signals. Not part of the
90 // On over-use, request lower resolution, possibly causing down-scaling.
92 // On over-use, request lower frame rate, possibly causing frame drops.
138 // The media type of this codec. Equivalent to MIME top-level type.
144 // Default payload type for this codec. Mainly needed for codecs that use
156 // The number of audio channels supported. Unused for video codecs.
162 // Codec-specific parameters that must be signaled to the remote party.
171 // Codec-specific parameters that may optionally be signaled to the remote
187 // Always false for audio codecs. True for video codecs that support scalable
188 // video coding with MRST.
192 // https://w3c.github.io/webrtc-svc/#dom-rtcrtpcodeccapability-scalabilitymodes
257 // Encrypted extensions will be ignored and only non-encrypted extensions
261 // non-encrypted extensions if necessary.
263 // Encrypted extensions will be required, so any non-encrypted extensions
306 "urn:ietf:params:rtp-hdrext:encrypt";
311 "urn:ietf:params:rtp-hdrext:ssrc-audio-level";
316 "urn:ietf:params:rtp-hdrext:toffset";
319 // http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
321 "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time";
324 // http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time
326 "http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time";
328 // Header extension for coordination of video orientation, see url for
331 static constexpr char kVideoRotationUri[] = "urn:3gpp:video-orientation";
333 // Header extension for video content type. E.g. default or screenshare.
335 "http://www.webrtc.org/experiments/rtp-hdrext/video-content-type";
337 // Header extension for video timing.
339 "http://www.webrtc.org/experiments/rtp-hdrext/video-timing";
343 "http://www.webrtc.org/experiments/rtp-hdrext/"
344 "generic-frame-descriptor-00";
346 "https://aomediacodec.github.io/av1-rtp-spec/"
347 "#dependency-descriptor-rtp-header-extension";
351 "http://www.webrtc.org/experiments/rtp-hdrext/video-layers-allocation00";
354 // http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions
357 "draft-holmer-rmcat-transport-wide-cc-extensions-01";
359 "http://www.webrtc.org/experiments/rtp-hdrext/transport-wide-cc-02";
363 // has very different needs on end-to-end delay compared to a video-conference
366 "http://www.webrtc.org/experiments/rtp-hdrext/playout-delay";
370 "http://www.webrtc.org/experiments/rtp-hdrext/color-space";
373 // https://tools.ietf.org/html/draft-ietf-mmusic-sdp-bundle-negotiation-49#section-15
374 static constexpr char kMidUri[] = "urn:ietf:params:rtp-hdrext:sdes:mid";
377 // https://tools.ietf.org/html/draft-ietf-avtext-rid-09
378 // https://tools.ietf.org/html/draft-ietf-mmusic-rid-15
380 "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id";
382 "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id";
386 "http://www.webrtc.org/experiments/rtp-hdrext/video-frame-tracking-id";
388 // Header extension for Mixer-to-Client audio levels per CSRC as defined in
391 "urn:ietf:params:rtp-hdrext:csrc-audio-level";
393 // Inclusive min and max IDs for two-byte header extensions and one-byte
394 // header extensions, per RFC8285 Section 4.2-4.3.
457 // See: https://w3c.github.io/webrtc-priority/#enumdef-rtcprioritytype
458 // "very-low" = 0.5
470 // bandwidth allocations. See https://w3c.github.io/webrtc-dscp-exp/ .
484 // bandwidth for the entire bandwidth estimator (audio and video). This is
489 // Specifies the minimum bitrate in bps for video.
492 // Specifies the maximum framerate in fps for video.
495 // Specifies the number of temporal layers for video (if the feature is
500 // For video, scale the resolution down by this factor.
503 // https://w3c.github.io/webrtc-svc/#rtcrtpencodingparameters
509 // that is not dependent on the video source.
512 // video source using OnOutputFormatRequest, since the VideoStreamEncoder
514 // propagated to the video source, this allows downscaling earlier in the
537 // https://w3c.github.io/webrtc-extensions/#dom-rtcrtpencodingparameters-adaptiveptime
568 // The media type of this codec. Equivalent to MIME top-level type.
572 // This must always be present, and must be unique across all codecs using
579 // The number of audio channels used. Unset for video codecs. If unset for
582 // Only defaults to 1, even though some codecs (such as opus) should really
600 // Codec-specific parameters that must be signaled to the remote party.
624 // Supported codecs.
625 std::vector<RtpCodecCapability> codecs; member
631 // ulpfec and flexfec codecs used by these mechanisms will still appear in
632 // `codecs`.
636 return codecs == o.codecs && header_extensions == o.header_extensions &&
663 // Send reduced-size RTCP?
692 std::vector<RtpCodecParameters> codecs; member
705 // indicates which is preferred. Only for video tracks.
709 return mid == o.mid && codecs == o.codecs &&