Page 1 of 1

Instructions for Sharing a Custom Codec

Posted: 26 Mar 2015 23:43
by jsj
Hi,

I have written a custom codec module for VLC, compiled it in-tree, and it is working well.

I now want to be able to share with others, without them having to rebuild VLC.

Are there some instructions for building shareable plugins? Do I have to build out-of-tree? Do I just copy certain files somewhere?

I tried building out-of-tree, but my codec implementation uses certain unavailable functions such as decoder_NewAudioBuffer.

I am willing to refactor if it is necessary, but I would appreciate some guidance as to what I need to do to be able to drop my module on anyone who wants to install it.

Thanks, and sorry for being new.

Re: Instructions for Sharing a Custom Codec

Posted: 27 Mar 2015 08:04
by Rémi Denis-Courmont
There is a whole page on the wiki on out-of-tree plugins, IIRC.

Re: Instructions for Sharing a Custom Codec

Posted: 27 Mar 2015 12:53
by jsj
There is a whole page on the wiki on out-of-tree plugins, IIRC.
Thanks, and yes I have read the page on out-of-tree plugins. After today's investigation I realise that it is only out-of-tree plugins that can be dropped into installed instances of VLC (that wasn't made clear on the wiki page). I.e. there is no instruction that says "If you want to distribute your plugin such that people can use it without rebuilding VLC you must build out-of-tree" and "to install an out-of-tree module simply copy the shared library into /usr/lib/vlc/..."

What I am stuck on now is finding replacements for functions like date_Get, which my existing module relies on... I will have a look at some reference OOT modules.

Thanks again.

Re: Instructions for Sharing a Custom Codec

Posted: 27 Mar 2015 13:26
by Rémi Denis-Courmont
There is no need to replace date_Get().

Re: Instructions for Sharing a Custom Codec

Posted: 27 Mar 2015 13:54
by jsj
There is no need to replace date_Get().
Haha, thanks for pointing that out.. I was just experiencing a link order issue after all that (I assumed there was a difference with OOT building, as my module worked fine when built in-tree)

The example OOT makefile has LDFLAGS before the object files, moving it to then end fixed it.

Thanks for being someone to bash my thick skull against.

Re: Instructions for Sharing a Custom Codec

Posted: 27 Mar 2015 14:34
by jsj
So everything is working brilliantly now, just thought I would share with you.. Thanks again.