[webkit-gtk] Encrypted Media support

Philippe Normand philn at igalia.com
Wed Jul 1 00:29:54 PDT 2015

> On 30 Jun 2015, at 12:49, Julien Isorce <julien.isorce at gmail.com> wrote:
> Hi,
> I am not sure if clearkey allow you to access the raw video data after decryption and decoding.

I don’t think clear-key has strong requirements in that regard. It’s not meant to be used for real deployments, as far as I know.

> If not you I know only 2 solutions:
> - decoder and renderer can be setup to support DRM. I think a such setup can only happen at driver level. And ideally CPU should not be able to access this raw data.
> In the case of HW decoder and GL driver it will prevent to download the gltexture. For ex: you get a blackframe, same if you try to read back the content of the framebuffer.
> It will allow to safely manipulate gltexture ids in webkit compositing engine.
> I do not know if there are such existing GPU drivers. I remember seeing some DRM structure members in openmax platform specific headers on Raspberry-Pi but not sure if this is related and/or usable.
> - if the platform does not support DRM, it should fallback to video hole punching. A third-party will have to provide a gst element that implements these GStreamer DRM interfaces/meta. DRM support in GStreamer should be such that it allows to do that :) In that maybe we can revive this patch: https://bugs.webkit.org/show_bug.cgi?id=141560 <https://bugs.webkit.org/show_bug.cgi?id=141560>
> I am not sure how CDM comes into the game but I guess this is the API that will connect EME javascript API to the gstreamer media player.

Yes, the CDM would request decryption keys and pass them to the decryptor, using an OOB event, for instance.

> What will be the sink and src caps for this GStreamer ClearKey decryptor ?

application/x-cenc, original-media-type=(string)video/x-h264, protection-system=(string)58147ec8-0423-4659-92e6-f52c5ce8c3cc

and video/x-h264

Same with audio/mpeg.

> As far as i know video hole punching is the technique used by chromium to support EME (I think video hole has been introduced in chromium in the first place to have EME on Android)
> I really wonder how iOS does support/implement EME ? (hole or driver)

Maybe ask in webkit-dev :)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-gtk/attachments/20150701/95348f46/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.webkit.org/pipermail/webkit-gtk/attachments/20150701/95348f46/attachment.sig>

More information about the webkit-gtk mailing list