Closed Bug 1708813 Opened 5 years ago Closed 5 years ago

Asymmetric payload type negotiation is still not working quite right when we are the offerer

Categories

(Core :: WebRTC: Signaling, defect, P2)

defect

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: bwc, Assigned: bwc)

Details

Attachments

(2 files)

When an answer contains an asymmetric payload type, we attempt to remember it so we can put it in reoffers:

https://searchfox.org/mozilla-central/rev/92be70819506d269df7c192bfbddc8c6ce581990/dom/media/webrtc/jsep/JsepTrack.cpp#412-413

Unfortunately, this does not always work appropriately. If we are the offerer, the payload type is updated for the send track only (because the answerer is not allowed to override our recv track's payload type on that negotiation).

https://searchfox.org/mozilla-central/rev/92be70819506d269df7c192bfbddc8c6ce581990/dom/media/webrtc/jsep/JsepCodecDescription.h#72-74

This means that for the recv track, the prototype codec is not updated, leaving the send/recv codecs out of sync with one another. I think we need to be updating the prototype codec's payload type to match |fmt|, not |clone->mDefaultPt|.

When these are out of sync, reoffers will use the old payload type in the rtpmap/m-line, but we will observe the new payload type in fmtp if the send track has format params (since the send track has switched over to the new payload type).

I've observed this on MS Teams, and it may impact interop there.

Severity: -- → S2
Priority: -- → P2
Assignee: nobody → docfaraday

Try looks fine.

Pushed by bcampen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/1678b35bed45 Test-case for bug. r=mjf https://hg.mozilla.org/integration/autoland/rev/a0f39c1b8c5d Remember remote side's payload type on recv tracks when we were the offerer. r=mjf
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: