<div dir="ltr">On Thu, Oct 6, 2016 at 7:38 PM Sebastian Dröge <<a href="mailto:sebastian@centricular.com">sebastian@centricular.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">As plugin and library are in the same module, you have to link to the<br class="gmail_msg">
library .la file, i.e.<br class="gmail_msg">
<br class="gmail_msg">
$(top_builddir)/gst-libs/gst/vanc/libgstvancmeta-@GST_API_VERSION@.la<br class="gmail_msg"></blockquote><div><br></div><div>That fixed that issue.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I would also suggest to call the library libgstvanc (i.e. without the<br class="gmail_msg">
meta part).<br class="gmail_msg"></blockquote><div><br></div><div>Done.<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Are you planning to submit the code of the library and the changes to<br class="gmail_msg">
the decklink plugin upstream at some point?<br class="gmail_msg"></blockquote><div><br></div><div>Yes, absolutely. As a matter of fact, I will attach what I have done so far to this email, in the hope that you will have time to look at it and give me other suggestions.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> Also, when the gstvanmeta lib is installed (/opt/gst/lib), I have<br class="gmail_msg">
> also run into trouble trying to use it with avenc_mpeg2video, I get:<br class="gmail_msg">
> /opt/gst/lib/gstreamer-1.0/libgstlibav.so: undefined symbol:<br class="gmail_msg">
> vanc_meta_get_info<br class="gmail_msg">
><br class="gmail_msg">
> To fix that, I tried changing gst-libav/ext/libav/Makefile.am to<br class="gmail_msg">
> have:<br class="gmail_msg">
> libgstlibav_la_LIBADD = $(LIBAV_LIBS) $(GST_PLUGINS_BASE_LIBS) \<br class="gmail_msg">
> -lgstaudio-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \<br class="gmail_msg">
> -lgstpbutils-$(GST_API_VERSION) -lgstvancmeta-$(GST_API_VERSION)<br class="gmail_msg">
> \<br class="gmail_msg">
> ...<br class="gmail_msg">
><br class="gmail_msg">
> But that did not seem to help. It looks like libgstlibav.so is being<br class="gmail_msg">
> installed in /opt/gst/lib/gstreamer-1.0, but libgstvancmeta.so is<br class="gmail_msg">
> being installed in /opt/gst/lib. Does libgstvancmeta.so belong in<br class="gmail_msg">
> /opt/gst/lib/gstreamer-1.0? If so, how do I get it there?<br class="gmail_msg">
<br class="gmail_msg">
It does belong there, yes. If you put it into lib_LTLIBRARIES in the<br class="gmail_msg">
Makefile.am, it should go to the normal library directory and not the<br class="gmail_msg">
plugin directory.<br class="gmail_msg">
<br class="gmail_msg">
Compare your Makefile.am with the ones of other libraries in gst-libs.<br class="gmail_msg"></blockquote><div><br></div><div>I am still having this problem. When building, I am doing:<br>```<br><span style="font-family:monospace">export PKG_CONFIG_PATH=/opt/gst/lib/pkgconfig</span><br>```<br>and<br>```<br><span style="font-family:monospace">./autogen.sh --prefix=/opt/gst<br></span></div><div><span style="font-family:monospace">make<br></span></div><div><span style="font-family:monospace">sudo make install</span><br></div><div>```<br>In each directory.<br><br>In gst-plugins-bad/gst-libs/gst/vanc/Makefile.am, I have:<br>```<br><span style="font-family:monospace">lib_LTLIBRARIES = libgstvanc-@GST_API_VERSION@.la</span><br>```<br></div><div>That should be correct, right?<br><br></div><div>In gst-libav/ext/libav/Makefile.am, I have:<br>```<br><span style="font-family:monospace">libgstlibav_la_LIBADD = $(LIBAV_LIBS) $(GST_PLUGINS_BASE_LIBS) \<br> -lgstaudio-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \<br> -lgstpbutils-$(GST_API_VERSION) -lgstvanc-$(GST_API_VERSION) \<br> $(GST_BASE_LIBS) $(LIBM) $(WIN32_LIBS) -lz $(BZ2_LIBS) $(LZMA_LIBS)</span><br>```<br><br></div><div>When I inspect libav, I get:<br>```<br><span style="font-family:monospace">gst-inspect-1.0 avenc_mpeg2video<br><br>(gst-plugin-scanner:21594): GStreamer-WARNING **: Failed to load plugin '/opt/gst/lib/gstreamer-1.0/libgstlibav.so': /opt/gst/lib/gstreamer-1.0/libgstlibav.so: undefined symbol: vanc_meta_get_info<br>No such element or plugin 'avenc_mpeg2video'</span><br>```<br><br></div><div>If I run ldd on /opt/gst/lib/gstreamer-1.0/libgstlibav.so, I get:<br>```<br><span style="font-family:monospace">ldd /opt/gst/lib/gstreamer-1.0/libgstlibav.so<br> linux-vdso.so.1 (0x00007fff815ba000)<br> libgstaudio-1.0.so.0 => /opt/gst/lib/libgstaudio-1.0.so.0 (0x00007f9f871e7000)<br> libgstvideo-1.0.so.0 => /opt/gst/lib/libgstvideo-1.0.so.0 (0x00007f9f86f70000)<br> libgstpbutils-1.0.so.0 => /opt/gst/lib/libgstpbutils-1.0.so.0 (0x00007f9f86d3b000)<br> libgstvanc-1.0.so.0 => /opt/gst/lib/libgstvanc-1.0.so.0 (0x00007f9f86b39000)<br> libgstbase-1.0.so.0 => /opt/gst/lib/libgstbase-1.0.so.0 (0x00007f9f868d6000)<br> libgstreamer-1.0.so.0 => /opt/gst/lib/libgstreamer-1.0.so.0 (0x00007f9f865a5000)<br> libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f9f86352000)<br> libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f9f86043000)<br> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9f85d42000)<br> libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9f85b27000)<br> libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f9f85917000)<br> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9f856fa000)<br> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9f8534f000)<br> libgsttag-1.0.so.0 => /opt/gst/lib/libgsttag-1.0.so.0 (0x00007f9f85115000)<br> libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f9f84f11000)<br> librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9f84d09000)<br> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9f84b05000)<br> libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f9f848fd000)<br> libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f9f8468f000)<br> /lib64/ld-linux-x86-64.so.2 (0x00007f9f88b58000)</span><br>```<br></div><div>So libgstlibav.so finds libgstvanc it okay. This makes me think the problem is with gst-launch-1.0 and gst-inspect-1.0, but that doesn't really make sense. Can you spot anything else I am doing wrong?<br><br></div><div>Thanks,<br><br></div><div>John<br><br></div><div><br> </div></div></div>