[encrypted-media] Provide a guideline on how to detect a browsers implemented EME version (#450)

riksagar has just created a new issue for https://github.com/w3c/encrypted-media:

== Provide a guideline on how to detect a browsers implemented EME version ==
Applications running on the browser currently need to "guess" the compatible version of EME.  Players such as DASH-JS try to probe the EME APIs to establish what version of the API is implemented:
 - See: https://github.com/Dash-Industry-Forum/dash.js/blob/development/src/streaming/protection/Protection.js

Device manufactures, such as Samsung, LG, Vizio, choose seemingly arbitrary versions of the spec to implement in their browsers:
 - For example: https://developer.samsung.com/tv/develop/specifications/media-specifications/#mse-ese

It is not clear, by looking at your github repo., whether there has been any breaking API change between two commits.  Nor is it clear what version of the EME API is current.  In fact, from what I can see the last time EME really got a "version" it was "0.1b", and that was prior to August 2012!

- Please be more rigorous about labelling and snapshotting stable versions of the EME API.
- Please tag stable versions in your spec in the github repo.
- Please encourage browser/device manufacturers to implement to a tagged version, not an arbitrary HEAD on master.
- Please provide sample code for developers as to how to detect (at runtime in an applications) what version of EME is supported on a device.

I understand there's a philosophy about your specs being "living evolving documents".  Unfortunately, a TV released in 2016 is not going to evolve with your nightly check-ins.  Device manufacturers and application developers need a way to converge on a _small_ sub-set of known, well documented API versions.

Thanks,
Rik.

Please view or discuss this issue at https://github.com/w3c/encrypted-media/issues/450 using your GitHub account

Received on Friday, 10 May 2019 00:17:49 UTC