| 586 | } |
| 587 | |
| 588 | func (m *MediaEngine) pushCodecs(codecs []RTPCodecParameters, typ RTPCodecType) error { |
| 589 | var joinedErr error |
| 590 | for _, codec := range codecs { |
| 591 | var err error |
| 592 | if typ == RTPCodecTypeAudio { |
| 593 | m.negotiatedAudioCodecs, err = m.addCodec(m.negotiatedAudioCodecs, codec) |
| 594 | } else if typ == RTPCodecTypeVideo { |
| 595 | m.negotiatedVideoCodecs, err = m.addCodec(m.negotiatedVideoCodecs, codec) |
| 596 | } |
| 597 | if err != nil { |
| 598 | joinedErr = errors.Join(joinedErr, err) |
| 599 | } |
| 600 | } |
| 601 | |
| 602 | return joinedErr |
| 603 | } |
| 604 | |
| 605 | // Update the MediaEngine from a remote description. |
| 606 | func (m *MediaEngine) updateFromRemoteDescription(desc sdp.SessionDescription) error { //nolint:cyclop,gocognit |