tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

media_constants.h (6358B)


      1 /*
      2 *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
      3 *
      4 *  Use of this source code is governed by a BSD-style license
      5 *  that can be found in the LICENSE file in the root of the source
      6 *  tree. An additional intellectual property rights grant can be found
      7 *  in the file PATENTS.  All contributing project authors may
      8 *  be found in the AUTHORS file in the root of the source tree.
      9 */
     10 
     11 #ifndef MEDIA_BASE_MEDIA_CONSTANTS_H_
     12 #define MEDIA_BASE_MEDIA_CONSTANTS_H_
     13 
     14 #include <stddef.h>
     15 
     16 #include "rtc_base/system/rtc_export.h"
     17 
     18 // This file contains constants related to media.
     19 
     20 namespace webrtc {
     21 
     22 extern const int kVideoCodecClockrate;
     23 
     24 extern const int kVideoMtu;
     25 extern const int kVideoRtpSendBufferSize;
     26 extern const int kVideoRtpRecvBufferSize;
     27 
     28 // Default CPU thresholds.
     29 extern const float kHighSystemCpuThreshold;
     30 extern const float kLowSystemCpuThreshold;
     31 extern const float kProcessCpuThreshold;
     32 
     33 extern const char kRedCodecName[];
     34 extern const char kUlpfecCodecName[];
     35 extern const char kFlexfecCodecName[];
     36 extern const char kMultiplexCodecName[];
     37 
     38 extern const char kFlexfecFmtpRepairWindow[];
     39 
     40 extern const char kRtxCodecName[];
     41 extern const char kCodecParamRtxTime[];
     42 extern const char kCodecParamAssociatedPayloadType[];
     43 
     44 extern const char kCodecParamAssociatedCodecName[];
     45 extern const char kCodecParamNotInNameValueFormat[];
     46 
     47 extern const char kOpusCodecName[];
     48 extern const char kL16CodecName[];
     49 extern const char kG722CodecName[];
     50 extern const char kPcmuCodecName[];
     51 extern const char kPcmaCodecName[];
     52 extern const char kCnCodecName[];
     53 extern const char kDtmfCodecName[];
     54 
     55 // Attribute parameters
     56 extern const char kCodecParamPTime[];
     57 extern const char kCodecParamMaxPTime[];
     58 // fmtp parameters
     59 extern const char kCodecParamMinPTime[];
     60 extern const char kCodecParamSPropStereo[];
     61 extern const char kCodecParamStereo[];
     62 extern const char kCodecParamUseInbandFec[];
     63 extern const char kCodecParamUseDtx[];
     64 extern const char kCodecParamCbr[];
     65 extern const char kCodecParamMaxAverageBitrate[];
     66 extern const char kCodecParamMaxPlaybackRate[];
     67 extern const char kCodecParamPerLayerPictureLossIndication[];
     68 
     69 extern const char kParamValueTrue[];
     70 // Parameters are stored as parameter/value pairs. For parameters who do not
     71 // have a value, `kParamValueEmpty` should be used as value.
     72 extern const char kParamValueEmpty[];
     73 
     74 // opus parameters.
     75 // Default value for maxptime according to
     76 // http://tools.ietf.org/html/draft-spittka-payload-rtp-opus-03
     77 extern const int kOpusDefaultMaxPTime;
     78 extern const int kOpusDefaultPTime;
     79 extern const int kOpusDefaultMinPTime;
     80 extern const int kOpusDefaultSPropStereo;
     81 extern const int kOpusDefaultStereo;
     82 extern const int kOpusDefaultUseInbandFec;
     83 extern const int kOpusDefaultUseDtx;
     84 extern const int kOpusDefaultMaxPlaybackRate;
     85 
     86 // Prefered values in this code base. Note that they may differ from the default
     87 // values in http://tools.ietf.org/html/draft-spittka-payload-rtp-opus-03
     88 // Only frames larger or equal to 10 ms are currently supported in this code
     89 // base.
     90 extern const int kPreferredMaxPTime;
     91 extern const int kPreferredMinPTime;
     92 extern const int kPreferredSPropStereo;
     93 extern const int kPreferredStereo;
     94 extern const int kPreferredUseInbandFec;
     95 
     96 extern const char kPacketizationParamRaw[];
     97 
     98 // rtcp-fb message in its first experimental stages. Documentation pending.
     99 extern const char kRtcpFbParamLntf[];
    100 // rtcp-fb messages according to RFC 4585
    101 extern const char kRtcpFbParamNack[];
    102 extern const char kRtcpFbNackParamPli[];
    103 // rtcp-fb messages according to
    104 // http://tools.ietf.org/html/draft-alvestrand-rmcat-remb-00
    105 extern const char kRtcpFbParamRemb[];
    106 // rtcp-fb messages according to
    107 // https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-01
    108 extern const char kRtcpFbParamTransportCc[];
    109 // ccm submessages according to RFC 5104
    110 extern const char kRtcpFbParamCcm[];
    111 extern const char kRtcpFbCcmParamFir[];
    112 // Receiver reference time report
    113 // https://tools.ietf.org/html/rfc3611 section 4.4
    114 extern const char kRtcpFbParamRrtr[];
    115 // Google specific parameters
    116 extern const char kCodecParamMaxBitrate[];
    117 extern const char kCodecParamMinBitrate[];
    118 extern const char kCodecParamStartBitrate[];
    119 extern const char kCodecParamMaxQuantization[];
    120 
    121 extern const char kComfortNoiseCodecName[];
    122 
    123 RTC_EXPORT extern const char kVp8CodecName[];
    124 RTC_EXPORT extern const char kVp9CodecName[];
    125 RTC_EXPORT extern const char kAv1CodecName[];
    126 RTC_EXPORT extern const char kH264CodecName[];
    127 RTC_EXPORT extern const char kH265CodecName[];
    128 
    129 // RFC 6184 RTP Payload Format for H.264 video
    130 RTC_EXPORT extern const char kH264FmtpProfileLevelId[];
    131 RTC_EXPORT extern const char kH264FmtpLevelAsymmetryAllowed[];
    132 RTC_EXPORT extern const char kH264FmtpPacketizationMode[];
    133 extern const char kH264FmtpSpropParameterSets[];
    134 extern const char kH264FmtpSpsPpsIdrInKeyframe[];
    135 extern const char kH264ProfileLevelConstrainedBaseline[];
    136 extern const char kH264ProfileLevelConstrainedHigh[];
    137 
    138 // RFC 7798 RTP Payload Format for H.265 video.
    139 // According to RFC 7742, the sprop parameters MUST NOT be included
    140 // in SDP generated by WebRTC, so for H.265 we don't handle them, though
    141 // current H.264 implementation honors them when receiving
    142 // sprop-parameter-sets in SDP.
    143 RTC_EXPORT extern const char kH265FmtpProfileSpace[];
    144 RTC_EXPORT extern const char kH265FmtpTierFlag[];
    145 RTC_EXPORT extern const char kH265FmtpProfileId[];
    146 RTC_EXPORT extern const char kH265FmtpLevelId[];
    147 RTC_EXPORT extern const char kH265FmtpProfileCompatibilityIndicator[];
    148 RTC_EXPORT extern const char kH265FmtpInteropConstraints[];
    149 RTC_EXPORT extern const char kH265FmtpTxMode[];
    150 
    151 // draft-ietf-payload-vp9
    152 extern const char kVP9ProfileId[];
    153 
    154 // https://aomediacodec.github.io/av1-rtp-spec/
    155 extern const char kAv1FmtpProfile[];
    156 extern const char kAv1FmtpLevelIdx[];
    157 extern const char kAv1FmtpTier[];
    158 
    159 extern const int kDefaultVideoMaxFramerate;
    160 extern const int kDefaultVideoMaxQpVpx;
    161 extern const int kDefaultVideoMaxQpAv1;
    162 extern const int kDefaultVideoMaxQpH26x;
    163 
    164 extern const size_t kConferenceMaxNumSpatialLayers;
    165 extern const size_t kConferenceMaxNumTemporalLayers;
    166 extern const size_t kConferenceDefaultNumTemporalLayers;
    167 
    168 extern const char kApplicationSpecificBandwidth[];
    169 extern const char kTransportSpecificBandwidth[];
    170 }  //  namespace webrtc
    171 
    172 
    173 #endif  // MEDIA_BASE_MEDIA_CONSTANTS_H_