diff --git a/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp b/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp index e855470f235d..b3f8cd25fcb0 100644 --- a/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp +++ b/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp @@ -1419,6 +1419,16 @@ JsepSessionImpl::GetTransceiverForLocal(size_t level) // There is no transceiver for |level| right now. + // Look for an RTP transceiver + for (RefPtr& transceiver : mTransceivers) { + if (transceiver->GetMediaType() != SdpMediaSection::kApplication && + !transceiver->IsStopped() && !transceiver->HasLevel()) { + transceiver->SetLevel(level); + return transceiver.get(); + } + } + + // Ok, look for a datachannel for (RefPtr& transceiver : mTransceivers) { if (!transceiver->IsStopped() && !transceiver->HasLevel()) { transceiver->SetLevel(level);