[vlc-devel] Out-of-tree compilation: seeking clarification

Chris Angelico rosuav at gmail.com
Mon Feb 15 15:46:55 UTC 2021

I'm attempting to build a VLC interface module which will involve its
own I/O thread. Following the instructions on the wiki has led to a
few questions.


The example makefile uses pkg-config for cflags and libs, but
hard-codes /usr/local/lib/vlc/plugins as the installation dir.
Experimentation has shown that `pkg-config vlc-plugin
--variable=pluginsdir` gives me the correct path on my system; but is
that going to be reliable on other systems? I don't want to edit the
wiki in a way that'd break for everyone else.


Open and Close are easy enough to understand, but I'm a bit confused
about Run. Not all interface modules have a Run function, and when I
created one, the compiler flagged it as unused, suggesting that
there's something more to be done here. Using other modules as
examples - as the wiki suggests - left me even more confused:

gestures.c, win_msg.c - no Run function
hotkeys.c - no Run, but an AutoRun, which is a submodule
lirc.c - Run function spawned explicitly from Open via vlc_clone
netsync.c - submodule, same as hotkeys
ntservice.c - Run spawned from Activate, not Open

They're nearly all different. Is AutoRun the best way to do this?
Should the wiki be updated? Is there some other way to do this?

I'm willing to do some work to improve the wiki, but I don't know
enough to make changes without risking making it worse :)

Please advise! Thanks! :)

Chris Angelico

More information about the vlc-devel mailing list