xref: /aosp_15_r20/external/webrtc/media/base/media_constants.cc (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker /*
2*d9f75844SAndroid Build Coastguard Worker  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3*d9f75844SAndroid Build Coastguard Worker  *
4*d9f75844SAndroid Build Coastguard Worker  *  Use of this source code is governed by a BSD-style license
5*d9f75844SAndroid Build Coastguard Worker  *  that can be found in the LICENSE file in the root of the source
6*d9f75844SAndroid Build Coastguard Worker  *  tree. An additional intellectual property rights grant can be found
7*d9f75844SAndroid Build Coastguard Worker  *  in the file PATENTS.  All contributing project authors may
8*d9f75844SAndroid Build Coastguard Worker  *  be found in the AUTHORS file in the root of the source tree.
9*d9f75844SAndroid Build Coastguard Worker  */
10*d9f75844SAndroid Build Coastguard Worker 
11*d9f75844SAndroid Build Coastguard Worker #include "media/base/media_constants.h"
12*d9f75844SAndroid Build Coastguard Worker 
13*d9f75844SAndroid Build Coastguard Worker namespace cricket {
14*d9f75844SAndroid Build Coastguard Worker 
15*d9f75844SAndroid Build Coastguard Worker const int kVideoCodecClockrate = 90000;
16*d9f75844SAndroid Build Coastguard Worker 
17*d9f75844SAndroid Build Coastguard Worker const int kVideoMtu = 1200;
18*d9f75844SAndroid Build Coastguard Worker const int kVideoRtpSendBufferSize = 65536;
19*d9f75844SAndroid Build Coastguard Worker const int kVideoRtpRecvBufferSize = 262144;
20*d9f75844SAndroid Build Coastguard Worker 
21*d9f75844SAndroid Build Coastguard Worker const float kHighSystemCpuThreshold = 0.85f;
22*d9f75844SAndroid Build Coastguard Worker const float kLowSystemCpuThreshold = 0.65f;
23*d9f75844SAndroid Build Coastguard Worker const float kProcessCpuThreshold = 0.10f;
24*d9f75844SAndroid Build Coastguard Worker 
25*d9f75844SAndroid Build Coastguard Worker const char kRedCodecName[] = "red";
26*d9f75844SAndroid Build Coastguard Worker const char kUlpfecCodecName[] = "ulpfec";
27*d9f75844SAndroid Build Coastguard Worker const char kMultiplexCodecName[] = "multiplex";
28*d9f75844SAndroid Build Coastguard Worker 
29*d9f75844SAndroid Build Coastguard Worker // TODO(brandtr): Change this to 'flexfec' when we are confident that the
30*d9f75844SAndroid Build Coastguard Worker // header format is not changing anymore.
31*d9f75844SAndroid Build Coastguard Worker const char kFlexfecCodecName[] = "flexfec-03";
32*d9f75844SAndroid Build Coastguard Worker 
33*d9f75844SAndroid Build Coastguard Worker // draft-ietf-payload-flexible-fec-scheme-02.txt
34*d9f75844SAndroid Build Coastguard Worker const char kFlexfecFmtpRepairWindow[] = "repair-window";
35*d9f75844SAndroid Build Coastguard Worker 
36*d9f75844SAndroid Build Coastguard Worker // RFC 4588 RTP Retransmission Payload Format
37*d9f75844SAndroid Build Coastguard Worker const char kRtxCodecName[] = "rtx";
38*d9f75844SAndroid Build Coastguard Worker const char kCodecParamRtxTime[] = "rtx-time";
39*d9f75844SAndroid Build Coastguard Worker const char kCodecParamAssociatedPayloadType[] = "apt";
40*d9f75844SAndroid Build Coastguard Worker 
41*d9f75844SAndroid Build Coastguard Worker const char kCodecParamAssociatedCodecName[] = "acn";
42*d9f75844SAndroid Build Coastguard Worker // Parameters that do not follow the key-value convention
43*d9f75844SAndroid Build Coastguard Worker // are treated as having the empty string as key.
44*d9f75844SAndroid Build Coastguard Worker const char kCodecParamNotInNameValueFormat[] = "";
45*d9f75844SAndroid Build Coastguard Worker 
46*d9f75844SAndroid Build Coastguard Worker const char kOpusCodecName[] = "opus";
47*d9f75844SAndroid Build Coastguard Worker const char kIsacCodecName[] = "ISAC";
48*d9f75844SAndroid Build Coastguard Worker const char kL16CodecName[] = "L16";
49*d9f75844SAndroid Build Coastguard Worker const char kG722CodecName[] = "G722";
50*d9f75844SAndroid Build Coastguard Worker const char kIlbcCodecName[] = "ILBC";
51*d9f75844SAndroid Build Coastguard Worker const char kPcmuCodecName[] = "PCMU";
52*d9f75844SAndroid Build Coastguard Worker const char kPcmaCodecName[] = "PCMA";
53*d9f75844SAndroid Build Coastguard Worker const char kCnCodecName[] = "CN";
54*d9f75844SAndroid Build Coastguard Worker const char kDtmfCodecName[] = "telephone-event";
55*d9f75844SAndroid Build Coastguard Worker 
56*d9f75844SAndroid Build Coastguard Worker // draft-spittka-payload-rtp-opus-03.txt
57*d9f75844SAndroid Build Coastguard Worker const char kCodecParamPTime[] = "ptime";
58*d9f75844SAndroid Build Coastguard Worker const char kCodecParamMaxPTime[] = "maxptime";
59*d9f75844SAndroid Build Coastguard Worker const char kCodecParamMinPTime[] = "minptime";
60*d9f75844SAndroid Build Coastguard Worker const char kCodecParamSPropStereo[] = "sprop-stereo";
61*d9f75844SAndroid Build Coastguard Worker const char kCodecParamStereo[] = "stereo";
62*d9f75844SAndroid Build Coastguard Worker const char kCodecParamUseInbandFec[] = "useinbandfec";
63*d9f75844SAndroid Build Coastguard Worker const char kCodecParamUseDtx[] = "usedtx";
64*d9f75844SAndroid Build Coastguard Worker const char kCodecParamMaxAverageBitrate[] = "maxaveragebitrate";
65*d9f75844SAndroid Build Coastguard Worker const char kCodecParamMaxPlaybackRate[] = "maxplaybackrate";
66*d9f75844SAndroid Build Coastguard Worker 
67*d9f75844SAndroid Build Coastguard Worker const char kParamValueTrue[] = "1";
68*d9f75844SAndroid Build Coastguard Worker const char kParamValueEmpty[] = "";
69*d9f75844SAndroid Build Coastguard Worker 
70*d9f75844SAndroid Build Coastguard Worker const int kOpusDefaultMaxPTime = 120;
71*d9f75844SAndroid Build Coastguard Worker const int kOpusDefaultPTime = 20;
72*d9f75844SAndroid Build Coastguard Worker const int kOpusDefaultMinPTime = 3;
73*d9f75844SAndroid Build Coastguard Worker const int kOpusDefaultSPropStereo = 0;
74*d9f75844SAndroid Build Coastguard Worker const int kOpusDefaultStereo = 0;
75*d9f75844SAndroid Build Coastguard Worker const int kOpusDefaultUseInbandFec = 0;
76*d9f75844SAndroid Build Coastguard Worker const int kOpusDefaultUseDtx = 0;
77*d9f75844SAndroid Build Coastguard Worker const int kOpusDefaultMaxPlaybackRate = 48000;
78*d9f75844SAndroid Build Coastguard Worker 
79*d9f75844SAndroid Build Coastguard Worker const int kPreferredMaxPTime = 120;
80*d9f75844SAndroid Build Coastguard Worker const int kPreferredMinPTime = 10;
81*d9f75844SAndroid Build Coastguard Worker const int kPreferredSPropStereo = 0;
82*d9f75844SAndroid Build Coastguard Worker const int kPreferredStereo = 0;
83*d9f75844SAndroid Build Coastguard Worker const int kPreferredUseInbandFec = 0;
84*d9f75844SAndroid Build Coastguard Worker 
85*d9f75844SAndroid Build Coastguard Worker const char kPacketizationParamRaw[] = "raw";
86*d9f75844SAndroid Build Coastguard Worker 
87*d9f75844SAndroid Build Coastguard Worker const char kRtcpFbParamLntf[] = "goog-lntf";
88*d9f75844SAndroid Build Coastguard Worker const char kRtcpFbParamNack[] = "nack";
89*d9f75844SAndroid Build Coastguard Worker const char kRtcpFbNackParamPli[] = "pli";
90*d9f75844SAndroid Build Coastguard Worker const char kRtcpFbParamRemb[] = "goog-remb";
91*d9f75844SAndroid Build Coastguard Worker const char kRtcpFbParamTransportCc[] = "transport-cc";
92*d9f75844SAndroid Build Coastguard Worker 
93*d9f75844SAndroid Build Coastguard Worker const char kRtcpFbParamCcm[] = "ccm";
94*d9f75844SAndroid Build Coastguard Worker const char kRtcpFbCcmParamFir[] = "fir";
95*d9f75844SAndroid Build Coastguard Worker const char kRtcpFbParamRrtr[] = "rrtr";
96*d9f75844SAndroid Build Coastguard Worker const char kCodecParamMaxBitrate[] = "x-google-max-bitrate";
97*d9f75844SAndroid Build Coastguard Worker const char kCodecParamMinBitrate[] = "x-google-min-bitrate";
98*d9f75844SAndroid Build Coastguard Worker const char kCodecParamStartBitrate[] = "x-google-start-bitrate";
99*d9f75844SAndroid Build Coastguard Worker const char kCodecParamMaxQuantization[] = "x-google-max-quantization";
100*d9f75844SAndroid Build Coastguard Worker 
101*d9f75844SAndroid Build Coastguard Worker const char kComfortNoiseCodecName[] = "CN";
102*d9f75844SAndroid Build Coastguard Worker 
103*d9f75844SAndroid Build Coastguard Worker const char kVp8CodecName[] = "VP8";
104*d9f75844SAndroid Build Coastguard Worker const char kVp9CodecName[] = "VP9";
105*d9f75844SAndroid Build Coastguard Worker const char kAv1CodecName[] = "AV1";
106*d9f75844SAndroid Build Coastguard Worker const char kH264CodecName[] = "H264";
107*d9f75844SAndroid Build Coastguard Worker 
108*d9f75844SAndroid Build Coastguard Worker // RFC 6184 RTP Payload Format for H.264 video
109*d9f75844SAndroid Build Coastguard Worker const char kH264FmtpProfileLevelId[] = "profile-level-id";
110*d9f75844SAndroid Build Coastguard Worker const char kH264FmtpLevelAsymmetryAllowed[] = "level-asymmetry-allowed";
111*d9f75844SAndroid Build Coastguard Worker const char kH264FmtpPacketizationMode[] = "packetization-mode";
112*d9f75844SAndroid Build Coastguard Worker const char kH264FmtpSpropParameterSets[] = "sprop-parameter-sets";
113*d9f75844SAndroid Build Coastguard Worker const char kH264FmtpSpsPpsIdrInKeyframe[] = "sps-pps-idr-in-keyframe";
114*d9f75844SAndroid Build Coastguard Worker const char kH264ProfileLevelConstrainedBaseline[] = "42e01f";
115*d9f75844SAndroid Build Coastguard Worker const char kH264ProfileLevelConstrainedHigh[] = "640c1f";
116*d9f75844SAndroid Build Coastguard Worker 
117*d9f75844SAndroid Build Coastguard Worker const char kVP9ProfileId[] = "profile-id";
118*d9f75844SAndroid Build Coastguard Worker 
119*d9f75844SAndroid Build Coastguard Worker const int kDefaultVideoMaxFramerate = 60;
120*d9f75844SAndroid Build Coastguard Worker 
121*d9f75844SAndroid Build Coastguard Worker const size_t kConferenceMaxNumSpatialLayers = 3;
122*d9f75844SAndroid Build Coastguard Worker const size_t kConferenceMaxNumTemporalLayers = 3;
123*d9f75844SAndroid Build Coastguard Worker const size_t kConferenceDefaultNumTemporalLayers = 3;
124*d9f75844SAndroid Build Coastguard Worker 
125*d9f75844SAndroid Build Coastguard Worker // RFC 3556 and RFC 3890
126*d9f75844SAndroid Build Coastguard Worker const char kApplicationSpecificBandwidth[] = "AS";
127*d9f75844SAndroid Build Coastguard Worker const char kTransportSpecificBandwidth[] = "TIAS";
128*d9f75844SAndroid Build Coastguard Worker }  // namespace cricket
129