[vlc-devel] Filters in libvlc

jboileau jboileau at gmail.com
Wed Jun 18 16:50:45 CEST 2008

Hi Lukas,

As I said I am taking our conversation to the list so that others may
participate in the disscussion.

Yes, dionoea is right, I am working on a filter API for libvlc. I need
access to 4 filters: adjust, marq, logo and magnify.

I have taken a look at your code. And again dionoea is right: your
approach in get_adjust_module will remove any other filters that may
be present. But dionoea's filter API makes it easy to fix that. This
API works great and is easy to use. I will post my code for the adjust
filter in videolan's pastebin so you can take a quick look and see how
the filter API is used. Its here: http://paste.videolan.org/4339

Now here are a few pointer:

- Adding and setting filters apply only to the current vout and are
not kept for the next vout. They must also be saved in the config if
we want the changes to be permanent. At least one filter, magnify,
kills and restarts vout and all other filter's settings are lost.

- Adding a filter through the use of var_SetString does not take
effect instantly. So if you have code that adds a filter and
immediatly tries to set an option of the filter it will not work. The
filter API adds a filter and the filter is usable right away,

What I have been trying to do for persistence, is add code to the
filter API  to also save filters to the config. The code I have done
is here: http://paste.videolan.org/4341 It works partly, the filter
stays even when vout is deleted and recreated, but the options to the
filter are lost. This code must be called at the end of
filter_chain_AppendFilter and filter_chain_DeleteFilter. But, has
dionoea pointed out, it is more a patch/kludge than a real solution.
My problem is that my knowledge of the inner workings of VLC is
extremely limited and I hit a brick wall rather quickly.

I hope I am helping. Please ask all the questions you may have, I am
glad if my little experience in this can be of help to you. Of course,
only one API for filters is needed, since you are embarking on a GSoC
project I will let you take the lead. But I will be glad to help you
out. We should communicate and combine our efforts as much as

Jacques Boileau

On Wed, Jun 18, 2008 at 9:01 AM, Lukas Durfina <lukas.durfina at gmail.com> wrote:
> Hi,
>  afaik you are working on filters in libvlc.
> My knowledge is a bit poor about that, but I am
> working on my GSoC project with phonon backend
> and I need for example functions which can set
> brightness, contrast, hue and so on (adjust filter).
> I add them to libvlc, but dioneoa said me, that if I add
> that filter, I drop all other filters. And that I should
> talk and cooperate with you.
> You can take a look on what I add:
> http://git.videolan.org/?p=vlc-lukas.git;a=commitdiff;h=f2a0ab3b53294d34491c54c28f89762d6a67d6fb
>   or directly
> http://git.videolan.org/?p=vlc-lukas.git;a=blob;f=src/control/video.c;h=b4f3f5647f6b6b62a7678c6087aaabc8e3845b10;hb=HEAD
> Now I know, that there is some filter chain, probably you work on it
> and have better knowledge of it than me, so maybe
> I can help you to make it working.
> Lukas

More information about the vlc-devel mailing list