-
Notifications
You must be signed in to change notification settings - Fork 19
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
receiver.hardwareAcceleration attribute instead of disableHardware[En|De]coding() static method #229
Comments
Related: #98 |
This is much better, a global static method had some obvious limitations, but being able to control a preference on a receiver does make sense. |
Let me give you a brief recap since it has been a while:
@jan-ivar, three questions:
|
Understood. The updated Mozilla position is we'd rather align with WebCodecs at this point. Trading a prescriptive method for a declarative API should suffice to let UAs that so wish apply the same fingerprinting mitigation heuristics here and in WebCodecs. This might include not honoring combinations of different values in the same top-level context, giving the same protections as the one-way top-level pageload gate suggested for the existing API.
Thanks, I've updated the proposal to include RTCRtpSender as well!
Playback decode on all platforms. WebRTC on android where allow-listed. Behind pref on other platforms right now due to issues. Not sure about hardware encode.
I meant to include encode as well. Now updated. |
(@fippo sorry I accidentally edited your comment when I meant to reply! github pilot error on my part. Now restored I hope.) |
There is also the risk that without this API assumptions such as "L1T3 will give us SW" and "L1T1 will give us HW" are more likely to be cemented, but so far nobody has wired up "fallback due to corruption" yet and even if L1T3 gave corruption there is always the option of switching to a different codec |
It doesn't look like RTCRtpReceiver.disableHardwareDecoding() [update: and RTCRtpSender.disableHardwareEncoding()!] have shipped anywhere.
Mozilla feedback in mozilla/standards-positions#728 was originally negative (though a formal position never formed).
But after recent review, we'd like to propose a slightly different API shape that Mozilla would get behind:
It's a receiver[ / sender] attribute instead of a static method.
Importantly for us, HardwareAcceleration is defined in WebCodecs, which has a page-long note about when the UA might override webpage preference.
We think this would resolve our concerns raised in the issue, specifically around the UAs ability to override website preference in situations like after a hardware codec fix.
The text was updated successfully, but these errors were encountered: