Tuesday, February 20, 2007

mplayerplug-in being changed to gecko-mediaplayer

mplayerplug-in is a great plugin for Mozilla/Firefox it works for a lot of sites out there and gives generally good results. But I think the end is near for it. I will continue to maintain it over the the next year fixing anything that comes up with it but the future is definitely with gecko-mediaplayer. What is gecko-mediaplayer? Well what I have done is separated out the functionality of mplayerplug-in into two components. The first component is the part that is very tightly integrated with the browser. It handles the requesting of media and the javascript commands. The other component is the actual media player itself. I have implemented a wrapper called GNOME MPlayer that handles this. This component can be used as a standalone player or as an embedded component. The plugin and the player communicate with each other over DBus. DBus was choosen because it is well supported on Linux and is becoming a common component on Linux systems so I could depend on it being available.

So what does all this changing around give us.

1. It gives us the ability to have the GUI abstacted away from the plugin. This is good in that then the GUI will not conflict with the GUI of the browser. So now Opera and perhaps Konqueror can become fully supported again.

2. This also gives gecko-mediaplayer the ability to use different players as long as they emulate that gnome-mplayer dbus interface.

All in all I think it is a good change. I think the code will be easier to maintain and therefore should be more reliable.

Edit 2010/02/22: Updated Links

2 comments:

bb said...

Sounds like the right decision to take.

Now some newbie questions:

Are the javascript commands you are talking about in the gecko-mediaplayer commands like 'play', 'pause', etc, and are these commands that call the plugged in player over the dbus interface ?

Where can developers find a documented dbus gnome-mplayer interface (or perhaps is should be called something else since it will probably be player independent where gnome-player is one instantiation ?).

Kevin said...

Yes, there will be docs on the dbus interface. So far they are partially contained in the GNOME MPlayer source code in a file name DOCS/tech/dbus.txt.

The plugin takes care of converting the call from javascript to dbus.