SetCodecPreferences sets preferred list of supported codecs if codecs is empty or nil we reset to default from MediaEngine.
(codecs []RTPCodecParameters)
| 52 | // SetCodecPreferences sets preferred list of supported codecs |
| 53 | // if codecs is empty or nil we reset to default from MediaEngine. |
| 54 | func (t *RTPTransceiver) SetCodecPreferences(codecs []RTPCodecParameters) error { |
| 55 | t.mu.Lock() |
| 56 | defer t.mu.Unlock() |
| 57 | |
| 58 | for _, codec := range codecs { |
| 59 | if _, matchType := codecParametersFuzzySearch( |
| 60 | codec, t.api.mediaEngine.getCodecsByKind(t.kind), |
| 61 | ); matchType == codecMatchNone { |
| 62 | return fmt.Errorf("%w %s", errRTPTransceiverCodecUnsupported, codec.MimeType) |
| 63 | } |
| 64 | } |
| 65 | |
| 66 | t.codecs = filterUnattachedRTX(codecs) |
| 67 | |
| 68 | return nil |
| 69 | } |
| 70 | |
| 71 | // getCodecs returns list of supported codecs. |
| 72 | func (t *RTPTransceiver) getCodecs() []RTPCodecParameters { |