Can you load a PPAPI Non-NACL CDM on production "chrome" browser using --register-pepper-plugin --no-sandbox via EME?

205 views
Skip to first unread message

Francis Chan

unread,
Feb 26, 2015, 12:52:04 AM2/26/15
to chromi...@chromium.org
I'm trying to demonstrate that we can load a CDM into Chrome .  I have the "encrypted" event being triggered but for the life of me, can't figure out if --register-pepper-plugin does anything. 

The CDM we built is non-nacl, so I assume I have to run out of sandbox?  We are using https://github.com/fraunhoferfokus/open-content-decryption-module as a basis and from what I can tell, they are able to load it (somehow) without any modifications to Chromium yet everything I've tried thus far isn't working.
  1. Is this even possible without rebuilding chrome?  I'm using Chrome as the means to prototype an EME/MSE solution with a custom CDM.
  2. If so, I assume if register works, on a navigator request for keysystem, Chrome will search all it's known CDM plugins and see if the "com.xyz" is the key system being requested.  Even those that are provided via the "register-pepper-plugin".
  3. I had Chrome dump a log file but there's no errors.
I've looked high and low on the internet, look through tests/examples in and out of Chromium, but can't find a clear example of the use case we're trying to demonstrate with Chrome.

Even the external clear key requires modification to Chrome.

Thanks in advance!


David Michael

unread,
Feb 26, 2015, 11:01:45 AM2/26/15
to poi...@gmail.com, Chromium-dev, Xiaohan Wang
We don't support third-party non-NaCl Pepper plugins (CDM or
otherwise). That's a decision based on security for users, and won't
ever change.

We also don't support adding CDMs to Chrome aside from what it ships
with (not even if they're NaCl). As far as I know, we have no plans to
add such a capability.

It's possible that there's a command-line flag for testing you could
use solely for prototyping... +xhwang for suggestions. You may have
to modify and build Chromium. In any case, there's not a viable way
for you to deploy a CDM to Chrome users, if that's what you're after.

HTH
> --
> --
> Chromium Developers mailing list: chromi...@chromium.org
> View archives, change email options, or unsubscribe:
> http://groups.google.com/a/chromium.org/group/chromium-dev

Francis Chan

unread,
Feb 26, 2015, 11:32:43 AM2/26/15
to David Michael, Chromium-dev, Xiaohan Wang
It's more the latter for testing and prototyping.  I don't mind modifying Chromium to complete the prototype, but Chromium on Windows I noticed there's no codec packages for licensing reasons.  I did try enabling ffmpeg in the gyp_defines under some advice that Chromimum has ffmpeg for both windows and linux (I initially assumed only linux), but that didn't seem to make a difference.  Not sure which is true.

If I can get the proper codec support, notably for MP4/AVC, I'd be happy as a clam to do any modification necessary to "temporarily" add our CDM to Chromium for testing purposes.

Our end goal is to demonstrate/provide a CDM solution for embedded partners using HTML5, so Chrome/Chromium is just our vessel to get there.

David Dorwin

unread,
Feb 26, 2015, 12:39:38 PM2/26/15
to poi...@gmail.com, David Michael, Chromium-dev, Xiaohan Wang
As David said, you need to modify Chromium code to register a CDM (like External Clear Key). --register-pepper-plugin only registers the adapter. The use of Pepper is really just an implementation detail and not a formal mechanism.

On Thu, Feb 26, 2015 at 8:32 AM, Francis Chan <poi...@gmail.com> wrote:
It's more the latter for testing and prototyping.  I don't mind modifying Chromium to complete the prototype, but Chromium on Windows I noticed there's no codec packages for licensing reasons.  I did try enabling ffmpeg in the gyp_defines under some advice that Chromimum has ffmpeg for both windows and linux (I initially assumed only linux), but that didn't seem to make a difference.  Not sure which is true.

Francis Chan

unread,
Feb 26, 2015, 2:10:11 PM2/26/15
to David Dorwin, David Michael, Chromium-dev, Xiaohan Wang
Ah ok.

I'll look to bring up my local Chromium with those flags on the page you sent so I get some codecs, then look to modifying based on the external clear key example.  Lemme see if that gets me further along this path now that I know Chrome, itself, will be dead end and I have to modify Chromium.

Thanks.
Reply all
Reply to author
Forward
0 new messages