w3c / webrtc-extensions

A repository for experimental additions to the WebRTC API
https://w3c.github.io/webrtc-extensions/
Other
58 stars 19 forks source link

receiver.hardwareAcceleration attribute instead of disableHardwareDecoding() static method #229

Open jan-ivar opened 1 week ago

jan-ivar commented 1 week ago

It doesn't look like RTCRtpReceiver.disableHardwareDecoding() has shipped anywhere.

Mozilla feedback in https://github.com/mozilla/standards-positions/issues/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:

partial interface RTCRtpReceiver {
  HardwareAcceleration hardwareAcceleration = "no-preference";  
}

It's a receiver 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.

aboba commented 1 week ago

Related: #98

TPAC 2022 slides

henbos commented 1 week ago

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.

fippo commented 3 days ago

Let me give you a brief recap since it has been a while:

@jan-ivar, three questions: