summaryrefslogtreecommitdiffstats
path: root/dom/media/webrtc/jsep/JsepSessionImpl.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:13:27 +0000
commit40a355a42d4a9444dc753c04c6608dade2f06a23 (patch)
tree871fc667d2de662f171103ce5ec067014ef85e61 /dom/media/webrtc/jsep/JsepSessionImpl.cpp
parentAdding upstream version 124.0.1. (diff)
downloadfirefox-adbda400be353e676059e335c3c0aaf99e719475.tar.xz
firefox-adbda400be353e676059e335c3c0aaf99e719475.zip
Adding upstream version 125.0.1.upstream/125.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/media/webrtc/jsep/JsepSessionImpl.cpp')
-rw-r--r--dom/media/webrtc/jsep/JsepSessionImpl.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/dom/media/webrtc/jsep/JsepSessionImpl.cpp b/dom/media/webrtc/jsep/JsepSessionImpl.cpp
index 50def6eb6c..c091b6d618 100644
--- a/dom/media/webrtc/jsep/JsepSessionImpl.cpp
+++ b/dom/media/webrtc/jsep/JsepSessionImpl.cpp
@@ -1121,11 +1121,17 @@ nsresult JsepSessionImpl::HandleNegotiatedSession(
CopyBundleTransports();
- std::vector<JsepTrack*> remoteTracks;
+ std::vector<JsepTrack*> receiveTracks;
for (auto& transceiver : mTransceivers) {
- remoteTracks.push_back(&transceiver.mRecvTrack);
+ // Do not count payload types for non-active recv tracks as duplicates. If
+ // we receive an RTP packet with a payload type that is used by both a
+ // sendrecv and a sendonly m-section, there is no ambiguity; it is for the
+ // sendrecv m-section.
+ if (transceiver.mRecvTrack.GetActive()) {
+ receiveTracks.push_back(&transceiver.mRecvTrack);
+ }
}
- JsepTrack::SetUniquePayloadTypes(remoteTracks);
+ JsepTrack::SetUniqueReceivePayloadTypes(receiveTracks);
mNegotiations++;