webrtc-extensions icon indicating copy to clipboard operation
webrtc-extensions copied to clipboard

Deprecate audio/video enumeration in getCapabilities in favour of Media Capabilities API

Open youennf opened this issue 3 years ago • 9 comments

Given Media Capabilities is better suited to identify the supported audio video codecs, and given getCapabilities as a synchronous API is not very well suited, we might want to remove some of the functionality of getCapabilities.

youennf avatar Jan 06 '22 16:01 youennf

Currently, Media Capabilities does not surface "fake" codecs (e.g. telephone-event, CN, FEC, RTX, RED), only "real" ones (e.g. Opus, G.711, VP8, H.264, etc.). Unless this were to change, Media Capabilities API cannot reach parity with getCapabilities() on that dimension (though MC provides more information in other respects). It comes down to whether Media Capabilities API has a goal of superceding getCapabilities() API or not.

aboba avatar Apr 19 '22 03:04 aboba

getCapabilities() output can also be used with setCodecPreferences(). Replacing a single API call with a complicated series of calls to MediaCapabilities seems like a usability regression.

Orphis avatar Apr 26 '22 08:04 Orphis

Conclusion from the April 26 interim meeting is that mediaCapabilities should focus on "real" codecs, and not incorporate information on "fake" codecs (e.g. telephone-event, CN, FEC, RTX, RED). As a result, mediaCapabilities() cannot provide all the information provided by getCapabilities(). Therefore getCapabilities() cannot be deprecated.

aboba avatar Apr 26 '22 22:04 aboba

Can we close this issue? Or is there an alternative next step (e.g. a CfC)?

aboba avatar Sep 07 '22 18:09 aboba

It is beneficial to remove the information that is redundant with media capabilities, meaning removing "real" codecs if we can find a reasonable definition for these. This could for instance mean deprecating getCapabilities and introducing an API dedicated to these fake codecs.

youennf avatar Sep 08 '22 11:09 youennf

Or deprecating the codecs dictionary field and introducing another dictionary for rtx and friends.

youennf avatar Sep 08 '22 11:09 youennf

I would not be in favor of deprecating getCapabilities for real codecs for the reasons explained by @Orphis

https://github.com/w3c/webrtc-extensions/issues/95#issuecomment-1109508795

murillo128 avatar Sep 08 '22 11:09 murillo128

Next step: Bring this to a Call for Consensus (CfC)

aboba avatar Oct 15 '22 23:10 aboba

Time to bring this to CfC.

aboba avatar Jan 17 '23 06:01 aboba