[vlc-devel] [GCI] libvlc: An API for listing audio & video filters

Rémi Denis-Courmont remi at remlab.net
Fri Dec 3 21:52:38 CET 2010

On Fri, 3 Dec 2010 20:55:13 +0100, Jakub Wieczorek <fawek at fawek.net> wrote:
> My idea was to do something like:
> const char** libvlc_get_available_plugins(libvlc_instance_t* instance,
> const char* type);
> where type would be one of the { "audio_filter", "video_filter",
> "codec", "audio_output", "video_output", "stream_out", ... }.
> i.e. libvlc_get_available_plugins(instance, "video_filter") would give
> you an array ( "invert", "mosaic", "wave", "gaussianblur", ..., 0 ).

I am not sure this really works. Some plug-ins may have aliases, whereby
different aliases may or may not do different things.

> I thought that a generic solution like this would be best and could
> work with all the different types of modules. Yet, I was told that
> it's a bad idea and that it's better to create separate APIs for all
> the different module types, e.g.
> libvlc_get_available_video_filters(libvlc_instance_t*),
> libvlc_get_available_audio_filters(libvlc_instance_t*), and that not
> all module groups should be covered, but only those that really make
> sense, like, in my case, video filters. I don't quite agree with that
> and I'd love to hear some feedback on this before I do this task. What
> do you think?

You can (and should) try to factor the implementation internally. But I
would rather not expose the plug-ins capability names to LibVLC

Rémi Denis-Courmont

More information about the vlc-devel mailing list