the big modules changes

Gildas Bazin gbazin at netcourrier.com
Wed Jul 31 20:21:41 CEST 2002


On Wednesday 31 July 2002 19:22, Samuel Hocevar wrote:
>    I am about to commit quite a few changes in the way modules work, and
> as usual most module files will need to be changed.
> 
>    There are two important changes in the way modules work:
> 
>     * a module now only has one capability, which is a string, allowing
>       arbitrary capabilities vlc isn't even aware of.
...
>     * a module can have submodules, which lets have several capabilities
>       in a single module, like before.
> 
>       Example: the sdl plugin has "video output" and "audio output"
>       submodules.
> 

This sounds really clever to me.

Just a question though:
I would like to find a way for vlc to use the best available video output 
chroma depending on the chroma output by the codec, the list of chroma 
plugins and the list of chroma supported by the video output itself.

For instance if the codec outputs YV12, I would look at all the chroma 
plugins supporting YV12 as inputs, I would then build a list of their 
chroma outputs and feed this to vout which would just have to pick the best 
one it supports.

I've got the feeling that your new changes could simplify this. Would it be 
possible for me to have for instance a chroma plugin declaring its chroma 
capability and then also declaring as capabilities a list of input chroma 
and a list of output chroma ?

>    In the process I would also like to clean the mess in the plugins/
> directory, which is becoming hard to follow. I will tune the Makefile
> so that it can build modules deeper in the tree, and I suggest the
> following layout:
> 
>    modules +-> audio +-> output -> dsp alsa arts ...
>            |         +-> mixer -> ...
>            |         `-> filter -> ...
>            +-> video +-> output -> x11, ggi, glide, ...
>            |         +-> chroma -> i420_rgb, i420_yuy2, ...
>            |         `-> filter -> transform, deinterlace, ...
>            +-> access +-> file, network, ...
>            |          +-> vcd
>                       `-> dvd -> dvd, dvdread, dvdplay, ...
>            +-> demux -> mpeg, mp4, ...
>            +-> codec +-> mpeg +-> audio -> adec, mad
>            |         |        `-> video -> vdec
>            |         +-> a52 -> a52dec 
>            |         `-> ffmpeg
>            +-> interface -> qt, gtk, kde, ...
>            `-> arch -> macosx, qnx, beos, win32, ...
> 

Finally somebody who has the guts to do this change!
As you said the source tree was really getting messy, so I'm all for your 
changes.

Just a question: what do you do with plugins which fall under more than 1 
category. I'm thinking about the dummy plugin or sdl, etc... ?

--
Gildas

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



More information about the vlc-devel mailing list