Sriram -

On Feb 24, 2009, at 1:28 AM, Sriram Neelakandan wrote:

Is there an NPAPI plugin extension available to say that the plugin
supports <video> tag
For example a set of methods / properties, which map directly to <video> tag.
i.e play(), pause(), etc..map to a direct NPAPI method on the plugin
with the same JS name

I am not sure if this is what is called as proxy plugin for <video> tag.
PLUGIN_PROXY_FOR_VIDEO

From the code in RenderPartObject.cpp
serviceType = "application/x-media-element-proxy-plugin";
it is clear that  the plugin should support this new mime-type..

1. Please correct me if the above observation is incorrect
2. Is there any other requirements that the plugin needs to meet ?
3. Is there a sample NPAPI proxy plugin  ..  probably based on
gstreamer or mplayer .
4. Is there some documentation related to NPAPI extension for <video>
tag handling ?

Yes, the PLUGIN_PROXY_FOR_VIDEO switch is intended to allow a port to use a plug-in to implement the <video>/<audio> back-end. It is not currently plumbed through WebKit for NPAPI plug-ins, only for Mac WebKit plug-ins.

There isn't a sample plug-in but the concept is fairly simple: an object that implements MediaPlayerPrivateInterface ("media engine" implementation) calls an interface exposed by a plug-in to set up and control a media file, and the plug-in calls an interface on the HTMLMediaElement to inform the implementation of media state changes.

It should be fairly easy to figure out by looking at the code inside of PLUGIN_PROXY_FOR_VIDEO.

  To implement it for NPAPI plug-ins, you will need to:

+ define the media control interface an NPAPI plug-in will implement (see MediaPlayerProxy.h for the ObjC interface used by a WebKit plug-in). + write an object that implements MediaPlayerPrivateInterface that knows how to deal with the plug-in interface and notifications. + define a mechanism for an NPAPI plug-in to pass an object that implements this interface back to the HTMLMediaElement (see WebPluginContainerPrivate.h for the WebKit plug-in version), which will pass it to your engine implementation.

eric



_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to