-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Filter codecs preferences on transceiver direction #3018
base: main
Are you sure you want to change the base?
Conversation
amendments.json
Outdated
"webrtc/RTCRtpTransceiver-setCodecPreferences-direction.html" | ||
], | ||
"testUpdates": [ | ||
"web-platform-tests/wpt#1234" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs updating to a real test and WPT PR, just put in a dummy value for the time being
webrtc.html
Outdated
remote peer. The local peer MUST be prepared to receive any | ||
codec that has been negotiated, even ones not first in the | ||
list. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should avoid competing normative language with JSEP. One way might be to put explanations in non-normative notes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed these to notes and tried to be more clear
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PTAL @jan-ivar I believe I addressed your comments
webrtc.html
Outdated
remote peer. The local peer MUST be prepared to receive any | ||
codec that has been negotiated, even ones not first in the | ||
list. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed these to notes and tried to be more clear
@jan-ivar Have I addressed your feedback? If you could take a look before the editor's meeting |
An RTCRtpSender defaults to sending what the remote endpoint | ||
indicated that it prefers to receive, but the application can | ||
change which codec to send amongst negotiated codecs in | ||
setParameters() at any time. An RTCRtpReceiver is prepared to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Link to "codec" specifically
they have any. | ||
</p> | ||
<p class="note"> | ||
An RTCRtpSender defaults to sending what the remote endpoint |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use curly bracket links here and elsewhere
<p> | ||
The {{setCodecPreferences}} method overrides the default | ||
receive codec preferences used by the <a>user agent</a>. When | ||
codec preferences used by the <a>user agent</a>. When |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
user agent "...as input to negotiation"
If the m= section is used for receiving, the order of the | ||
codecs in the SDP (both the offer and the answer) tells the | ||
remote endpoint which codec the local endpoint prefers to | ||
receive. The answerer defaults to using the order in the SDP |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Even if the m= section is not used for receiving,
], | ||
"testUpdates": [ | ||
"web-platform-tests/wpt#44318" | ||
"web-platform-tests/wpt#1234" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add real test before landing!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chromium issue for adding WPTs: https://crbug.com/379551577
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I might add another note to cover the surprising case if the answerer receives a recvonly offer: in this case it's too late for the answerer to use setCodecPreferences to set what to send, and they need to use setParameters instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
quoting @henbos
Add real test before landing!
(marking this as requesting changes to make sure this doesn't get overlooked)
description =]'s [= associated =] transceiver, | ||
<var>transceiver</var>, is said to be the value of | ||
<var>filteredCodecs</var> if non-empty and said to | ||
be unset otherwise. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note to self there is also a reference to preferred codecs internal slots in setParameters that should be filtered on sending
Fixes #3006.
As decided by the WG, this PR implements Proposal A at TPAC, i.e:
This is supported via filtering based on RTCRtpTransceiver.direction. In addition, the case where filtering results in an empty codec preferences this is treated as "no preference" as per Proposal A at Virtual Interim.
Preview | Diff