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

Jakub Wieczorek fawek at fawek.net
Fri Dec 3 20:55:13 CET 2010


I'm working on adding an API to libvlc [1] that can give the client a
list of available audio/video filters. One of the use cases is my
webcam application [2], that basically needs the list of video filters
to let the user choose which ones to apply on the video stream.

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 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_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?

Best regards,
Jakub Wieczorek

[1] http://socghop.appspot.com/gci/task/show/google/gci2010/videolan/t129139732694
[2] http://socghop.appspot.com/gci/task/show/google/gci2010/videolan/t128984225208

More information about the vlc-devel mailing list