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

Method addCodec

mediaengine.go:239–253  ·  view source on GitHub ↗

addCodec will append codec if it not exists.

(codecs []RTPCodecParameters, codec RTPCodecParameters)

Source from the content-addressed store, hash-verified

237
238// addCodec will append codec if it not exists.
239func (m *MediaEngine) addCodec(codecs []RTPCodecParameters, codec RTPCodecParameters) ([]RTPCodecParameters, error) {
240 for _, c := range codecs {
241 if c.PayloadType == codec.PayloadType {
242 if strings.EqualFold(c.MimeType, codec.MimeType) &&
243 fmtp.ClockRateEqual(c.MimeType, c.ClockRate, codec.ClockRate) &&
244 fmtp.ChannelsEqual(c.MimeType, c.Channels, codec.Channels) {
245 return codecs, nil
246 }
247
248 return codecs, ErrCodecAlreadyRegistered
249 }
250 }
251
252 return append(codecs, codec), nil
253}
254
255// RegisterCodec adds codec to the MediaEngine
256// These are the list of codecs supported by this PeerConnection.

Callers 2

RegisterCodecMethod · 0.95
pushCodecsMethod · 0.95

Calls 2

ClockRateEqualFunction · 0.92
ChannelsEqualFunction · 0.92

Tested by

no test coverage detected