[vlc-devel] Re: Using VLC in my application

Derk-Jan Hartman hartman at videolan.org
Fri Oct 17 01:18:55 CEST 2003

On woensdag, okt 15, 2003, at 21:54 Europe/Amsterdam, Andreas Korth 
> I hope this is the right place to post my request. My apologies if 
> this is
> inappropriate by any means.

Asking questions is always appropriate and encouraged. Demanding 
answers as some users seem to make a habbit of, of course isn't, but 
any request asked as politly as yours can always expect an answer.

> I'd like to use VLC with my current project to playback video files
> (MPEG-4/DivX/Xvid) in an OpenGL context, that is, using the RGB video
> output as a texture to be mapped onto 3D geometry. Actually, several
> streams (up to a total of four) are to be rendered simultaneously.

cool. however, at the moment vlc can only decode one stream at a time. 
for this to work would require 4 instances of vlc running and working 
together. This limititation of VLC will not be fixed soon or quickly 

> I'm a senior Java developer with some experience in C++ on the Windows
> platform. This particular piece of software however is targeted 
> primarily
> to the Unix platform (GNU Linux, actually) and it is build upon the SDL
> framework.

We already have some SDL code for the audio output and video output.

in the source look for:

> If my understanding of the VLC architecture is correct, I'll need to 
> write
> a generic interface plugin and an output plugin which creates/modifies 
> a
> GL texture.

if you want to control vlc, you indeed need either a control interface, 
or a gui interface.

for displaying video, you only need a video output module

> I'd really appreciate any pratical hints on how to get started. If 
> anybody
> has already accomplished anything similar to my approach (e.g. you 
> wrote a
> generic interface plugin), I'd be interested in source code examples, 
> etc.

well just look at how other plugins are build.
modules/video_output/sdl.c and modules/video_output/aa.c are probably 
two very simple video_output modules. directx and x11 are more 
complicated but after a while you'll be able to read them.

Untill lately we didn't really have much API/code documentation, we are 
however trying to change that, and there is some incomplete information 
The video API is fortunately one of the areas which is now partially 

> I'd also like to know, for example, which source files (from the VLC
> project) I can build upon (i.e. modify and customize them to fit my 
> needs)
> or which ones are worth examining in order to get a better 
> understanding
> of VLC's (plugin) architecture.

plugins are all located in the /modules directory sorted by function.
the API and application code is in the /src directory
If you have any questions you can always drop into our chat channel


Videolan - VLC media player
Derk-Jan Hartman (thedj at users.sourceforge.net)
Co-Developer of the MacOS X port of vlc

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>

More information about the vlc-devel mailing list