Skip to content

Commit 057eda3

Browse files
dennwcSean-Der
authored andcommitted
Add static RTP PayloadTypes as a constant
Defined in IANA [0] [0] https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml
1 parent c52c1e7 commit 057eda3

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

Diff for: payload_types.go

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// SPDX-FileCopyrightText: 2024 The Pion community <https://pion.ly>
2+
// SPDX-License-Identifier: MIT
3+
4+
package rtp
5+
6+
// https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml
7+
// https://en.wikipedia.org/wiki/RTP_payload_formats
8+
9+
// Audio Payload Types as defined in https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml
10+
const (
11+
// PayloadTypePCMU is a payload type for ITU-T G.711 PCM μ-Law audio 64 kbit/s (RFC 3551).
12+
PayloadTypePCMU = 0
13+
// PayloadTypeGSM is a payload type for European GSM Full Rate audio 13 kbit/s (GSM 06.10).
14+
PayloadTypeGSM = 3
15+
// PayloadTypeG723 is a payload type for ITU-T G.723.1 audio (RFC 3551).
16+
PayloadTypeG723 = 4
17+
// PayloadTypeDVI4_8000 is a payload type for IMA ADPCM audio 32 kbit/s (RFC 3551).
18+
PayloadTypeDVI4_8000 = 5
19+
// PayloadTypeDVI4_16000 is a payload type for IMA ADPCM audio 64 kbit/s (RFC 3551).
20+
PayloadTypeDVI4_16000 = 6
21+
// PayloadTypeLPC is a payload type for Experimental Linear Predictive Coding audio 5.6 kbit/s (RFC 3551).
22+
PayloadTypeLPC = 7
23+
// PayloadTypePCMA is a payload type for ITU-T G.711 PCM A-Law audio 64 kbit/s (RFC 3551).
24+
PayloadTypePCMA = 8
25+
// PayloadTypeG722 is a payload type for ITU-T G.722 audio 64 kbit/s (RFC 3551).
26+
PayloadTypeG722 = 9
27+
// PayloadTypeL16Stereo is a payload type for Linear PCM 16-bit Stereo audio 1411.2 kbit/s, uncompressed (RFC 3551).
28+
PayloadTypeL16Stereo = 10
29+
// PayloadTypeL16Mono is a payload type for Linear PCM 16-bit audio 705.6 kbit/s, uncompressed (RFC 3551).
30+
PayloadTypeL16Mono = 11
31+
// PayloadTypeQCELP is a payload type for Qualcomm Code Excited Linear Prediction (RFC 2658, RFC 3551).
32+
PayloadTypeQCELP = 12
33+
// PayloadTypeCN is a payload type for Comfort noise (RFC 3389).
34+
PayloadTypeCN = 13
35+
// PayloadTypeMPA is a payload type for MPEG-1 or MPEG-2 audio only (RFC 3551, RFC 2250).
36+
PayloadTypeMPA = 14
37+
// PayloadTypeG728 is a payload type for ITU-T G.728 audio 16 kbit/s (RFC 3551).
38+
PayloadTypeG728 = 15
39+
// PayloadTypeDVI4_11025 is a payload type for IMA ADPCM audio 44.1 kbit/s (RFC 3551).
40+
PayloadTypeDVI4_11025 = 16
41+
// PayloadTypeDVI4_22050 is a payload type for IMA ADPCM audio 88.2 kbit/s (RFC 3551).
42+
PayloadTypeDVI4_22050 = 17
43+
// PayloadTypeG729 is a payload type for ITU-T G.729 and G.729a audio 8 kbit/s (RFC 3551, RFC 3555).
44+
PayloadTypeG729 = 18
45+
)
46+
47+
// Video Payload Types as defined in https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml
48+
const (
49+
// PayloadTypeCELLB is a payload type for Sun CellB video (RFC 2029).
50+
PayloadTypeCELLB = 25
51+
// PayloadTypeJPEG is a payload type for JPEG video (RFC 2435).
52+
PayloadTypeJPEG = 26
53+
// PayloadTypeNV is a payload type for Xerox PARC's Network Video (nv, RFC 3551).
54+
PayloadTypeNV = 28
55+
// PayloadTypeH261 is a payload type for ITU-T H.261 video (RFC 4587).
56+
PayloadTypeH261 = 31
57+
// PayloadTypeMPV is a payload type for MPEG-1 and MPEG-2 video (RFC 2250).
58+
PayloadTypeMPV = 32
59+
// PayloadTypeMP2T is a payload type for MPEG-2 transport stream (RFC 2250).
60+
PayloadTypeMP2T = 33
61+
// PayloadTypeH263 is a payload type for H.263 video, first version (1996, RFC 3551, RFC 2190).
62+
PayloadTypeH263 = 34
63+
)
64+
65+
const (
66+
// PayloadTypeFirstDynamic is a first non-static payload type.
67+
PayloadTypeFirstDynamic = 35
68+
)

0 commit comments

Comments
 (0)