[vlc-devel] Re: Proper separation of GUI and engine

Pierre d'Herbemont pdherbemont at free.fr
Sun May 13 16:00:25 CEST 2007

On 13 mai 07, at 13:41, NeBlackCat (lists) wrote:

> Yes I know, but (as I understand it) they provide a small number of  
> simple, high level functions (play media, go full screen, add to  
> playlist, etc) whereas (for example) Xine's API exposes all of  
> Xine's guts, so you can do all sorts of low, medium and high level  
> media related stuff through it.

> In other words (as I understand it) VLC is a media player with an  
> API to allow you to control it. OTOH Xine is a media library that  
> you can build a media player around. So my question was whether VLC  
> would be repackaged along the Xine lines.

(You can build a fairly decent media player around the libvlc/ 
mediacontrol, most notable example is the mozilla plugin.)

For now libvlc is really high level. It will hopefully gain in  
functionality with time, and give you a more advanced control on  
media stuff.

As you noticed the VLC media player itself doesn't use libvlc. I  
don't expect this to change, as this is VLC philosophy. Which I have  
to say gives certain advantages: for instance you can use multiple  
interfaces at the same time on the same vlc instance, you cannot do  
that the other way around.

But VLC isn't the only player in the game. New players are emerging:  
The mozilla plugin, the different binding for Java/Python, and the  
Mac OS X Framework all those part of VLC uses the libvlc API. Those  
are more reasons why libvlc has to be and will be improved.

Then to get back to the proper separation of GUI and engine I think  
it is rather well separated at this same source wise: you'll find the  
modules/gui/ the specific interface code. And the video output  
related code into modules/video_output. That's probably not your  
concern though ;)


This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html

More information about the vlc-devel mailing list