[webkit-dev] CDMi interface for EME?

Maciej Stachowiak mjs at apple.com
Tue Jun 10 10:51:21 PDT 2014

> On Jun 10, 2014, at 8:39 AM, Jer Noble <jer.noble at apple.com> wrote:
>> On Jun 9, 2014, at 3:56 PM, Brendan Long <self at brendanlong.com> wrote:
>> I'm looking into EME and something I've been asked to investigate is Microsoft's proposed CDMi interface, and if we could use it in WebKit. The idea is that we would expose a few common interfaces (see page 12 of the PDF at that link), like "Cdm_MediaKeys(wchar_t *keySystem)" constructor, "createSession(wchar_t* type, const unsigned char *initData, const unsigned char *AppData)" to create a CDM session, etc. The advantage of this would be that we could create CDMs for each platform and then re-use them in multiple browsers.
>> Is there any interest in this in WebKit? I'm starting to look through the code to see how it could be done (presumably implement CDMPrivate / CDMPrivateInterface to use CDMs matching this interface), but I figured I'd go to the source and see if anyone has looked into doing this before.
> I haven’t seen this document before, but after a brief look it seems that implementing a new CDMPrivate and CDMSession would be the best way to add support for this CDMi interface.
> It does look like the CDMi module implements a lot of the platform-independant parts of the EME spec (whereas CDMPrivate and CDMSession are the platform-specific parts), so there may be some redundant logic.  And we may need to expose some new methods from CDMSession -> MediaKeySession, e.g. to change the MediaKeySession’s readyState.  Apart from that, this looks doable.

But I don’t think we’d want to support pluggable CDMs as an extension point on any of Apple’s ports (which is the whole point of CDMi), only the ones we support already. So the question is whether there are any other WebKit ports that would like to support pluggable CDMs.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-dev/attachments/20140610/becbfa34/attachment.html>

More information about the webkit-dev mailing list