Re: Media Encryption and NPAPI

Chris Pearce <[email protected]> Thu, 17 Jul 2014 08:19:19 +1200
Newsgroups gmane.comp.mozilla.devel.plugins
Message-ID <[email protected]>
On 7/16/2014 2:35 PM, Gary Mort wrote:
> NPAPI is deprecated and should not be used for plug-ins - so I'm curious on what the alternative is for things like encrypted media extensions.

https://wiki.mozilla.org/GeckoMediaPlugins

We will use this for OpenH264 and EME plugins.

> It seems that rather then providing a method for anyone to create plugins for drm enabled media,

Of course we can't stop anyone writing code for a GMP, but only GMPs 
approved by us will be allowed to run in Mozilla Firefox builds.

>   Firefox is instead providing a single closed sourced implementation

How is this different from what other browser vendors are doing?


>   based on "DRM requires closed systems to operate as currently required and is designed to remove user control,"  https://blog.mozilla.org/blog/2014/05/14/drm-and-the-challenge-of-serving-users/
>
> Obviously the above statement is not true, but it seems that instead of providing choice Mozilla has decided to force one solution onto everyone.
>
> DRM protection could be as simple as passing all blocks of media data through a simple circular shift.   The only "secret" part of the plugin would be the block size and the rotation size.  Sure, such DRM is trivial to break, but then all DRM is eventually trivial to break - so if someone wants mild drm protection they could easily provide a plugin to do so.

That may be how you want it to work, but it's not how it actually works, 
due to things beyond our control.

> However, there does not appear to be an api to provide small compiled bits of code/plugins.  Am I missing something or is this really the case?


https://wiki.mozilla.org/GeckoMediaPlugins

>
> The ability to have competing DRM mechanisms has, in the past, provided protection from companies that have decided to abuse the need for DRM software to include all sorts of abuses, spyware, trojans, etc.
>