MCPcopy
hub / github.com/pion/webrtc / RegisterDefaultCodecs

Method RegisterDefaultCodecs

mediaengine.go:64–236  ·  view source on GitHub ↗

RegisterDefaultCodecs registers the default codecs supported by Pion WebRTC. RegisterDefaultCodecs is not safe for concurrent use.

()

Source from the content-addressed store, hash-verified

62// RegisterDefaultCodecs registers the default codecs supported by Pion WebRTC.
63// RegisterDefaultCodecs is not safe for concurrent use.
64func (m *MediaEngine) RegisterDefaultCodecs() error {
65 // Default Pion Audio Codecs
66 for _, codec := range []RTPCodecParameters{
67 {
68 RTPCodecCapability: RTPCodecCapability{MimeTypeOpus, 48000, 2, "minptime=10;useinbandfec=1", nil},
69 PayloadType: 111,
70 },
71 {
72 RTPCodecCapability: RTPCodecCapability{MimeTypeG722, 8000, 0, "", nil},
73 PayloadType: rtp.PayloadTypeG722,
74 },
75 {
76 RTPCodecCapability: RTPCodecCapability{MimeTypePCMU, 8000, 0, "", nil},
77 PayloadType: rtp.PayloadTypePCMU,
78 },
79 {
80 RTPCodecCapability: RTPCodecCapability{MimeTypePCMA, 8000, 0, "", nil},
81 PayloadType: rtp.PayloadTypePCMA,
82 },
83 } {
84 if err := m.RegisterCodec(codec, RTPCodecTypeAudio); err != nil {
85 return err
86 }
87 }
88
89 videoRTCPFeedback := []RTCPFeedback{{"goog-remb", ""}, {"ccm", "fir"}, {"nack", ""}, {"nack", "pli"}}
90 for _, codec := range []RTPCodecParameters{
91 {
92 RTPCodecCapability: RTPCodecCapability{MimeTypeVP8, 90000, 0, "", videoRTCPFeedback},
93 PayloadType: 96,
94 },
95 {
96 RTPCodecCapability: RTPCodecCapability{MimeTypeRTX, 90000, 0, "apt=96", nil},
97 PayloadType: 97,
98 },
99
100 {
101 RTPCodecCapability: RTPCodecCapability{
102 MimeTypeH264, 90000, 0,
103 "level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f",
104 videoRTCPFeedback,
105 },
106 PayloadType: 102,
107 },
108 {
109 RTPCodecCapability: RTPCodecCapability{MimeTypeRTX, 90000, 0, "apt=102", nil},
110 PayloadType: 103,
111 },
112
113 {
114 RTPCodecCapability: RTPCodecCapability{
115 MimeTypeH264, 90000, 0,
116 "level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f",
117 videoRTCPFeedback,
118 },
119 PayloadType: 104,
120 },
121 {

Calls 1

RegisterCodecMethod · 0.95