- From: <bugzilla@jessica.w3.org>
- Date: Thu, 14 Feb 2013 01:18:28 +0000
- To: public-html-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=20963 --- Comment #9 from Glenn Adams <glenn@skynav.com> --- (In reply to comment #8) > It could be made more technically complete as follows: > - Introduce a requirement that CDMs be downloadable and executable in a > sandbox > -- Possible sandboxes might be JVM, .Net, NaCl, etc. Rather than require one > particular sandbox, implement a registry of sandbox IDs, and some way to > request a particular version of that sandbox (e.g. Java version >= 7) > -- Have an XML manifest for the CDM that declares: > ---- CDM identity and revision number > ---- what sandbox it uses and what revision > ---- URL from which it can be downloaded > ---- list of native OS services it requires, if any > ------ this list may be platform-specific, e.g. Windows API X from Y.dll > Linux function X from Y.so. Define a naming scheme that works for > common platforms, e.g. win32:dllname:exportname, > linux:dllname:exportname > make it extensible to support further platforms > ------ a sandbox specific API to invoke those native services. This could be > e.g. P/Invoke under .NET, JNA under Java, etc. > ---- UA or sandbox must verify the CDM, either before executing it or while > executing it, to ensure it only uses the declared native services. How > the > UA or sandbox should do so would be sandbox-specific. > > With this design, it should be possible for a CDM to work with multiple UAs > or > even multiple platforms. Of course, there are no guarantees - the CDM could > always detect the UA or platform and refuse to run - but it means that > building > a UA or platform restricted CDM becomes more of a conscious decision and > less of > an accident. All this is possible, and could certainly be accomplished in another specification (whether created by the W3C or not), but nothing in EME technically requires or depends on the existence of such a specification. In fact, it can be argued that the creation of such a CDM API and architecture is highly dependent on specific UA implementations, and possibly on OS specific ports of such implementations, and, as such, should be specified by individual UA vendors. Given the desire for modularity, layering, and abstraction, EME should not be clouded by unrelated implementation details. As such, the CDM mechanism in EME is nothing more than a didactic device to aid in the explanation of EME processing semantics. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Thursday, 14 February 2013 01:18:32 UTC