| 1112 | } |
| 1113 | |
| 1114 | func (t *PCTransport) AddTransceiverFromTrack( |
| 1115 | trackLocal webrtc.TrackLocal, |
| 1116 | params types.AddTrackParams, |
| 1117 | enabledCodecs []*livekit.Codec, |
| 1118 | rtcpFeedbackConfig RTCPFeedbackConfig, |
| 1119 | ) (sender *webrtc.RTPSender, transceiver *webrtc.RTPTransceiver, err error) { |
| 1120 | transceiver, err = t.pc.AddTransceiverFromTrack(trackLocal) |
| 1121 | if err != nil { |
| 1122 | return |
| 1123 | } |
| 1124 | |
| 1125 | sender = transceiver.Sender() |
| 1126 | if sender == nil { |
| 1127 | err = ErrNoSender |
| 1128 | return |
| 1129 | } |
| 1130 | |
| 1131 | t.queueOrConfigureSender( |
| 1132 | transceiver, |
| 1133 | enabledCodecs, |
| 1134 | rtcpFeedbackConfig, |
| 1135 | params.Stereo, |
| 1136 | !params.Red || !t.params.ClientInfo.SupportsAudioRED(), |
| 1137 | ) |
| 1138 | |
| 1139 | t.adjustNumOutstandingMedia(transceiver) |
| 1140 | return |
| 1141 | } |
| 1142 | |
| 1143 | func (t *PCTransport) AddTransceiverFromKind( |
| 1144 | kind webrtc.RTPCodecType, |