Developing a custom plugin in gstreamer-vaapi

Mats sambha.is.cool at gmail.com
Fri Mar 9 05:33:23 UTC 2018


I am developing a custom plugin for gstreamer-vaapi. I am accessing the
GstVaapiVideoMeta data of the incomming buffer, using the following piece
of code,

GstVaapiVideoMeta *meta;
    .
    .
meta = gst_buffer_get_vaapi_video_meta (buf);


Compilation succeeds. However at the time of linking , I get the error,

CCLD     libgstmyelement.la
.libs/libgstmyelement_la-gstmyelement.o: In function `gst_myelement_chain':
gstreamer-vaapi/gst-libs/gst/vaapi/gstmyelement.c:262: undefined
reference to `gst_buffer_get_vaapi_video_meta'
/usr/bin/ld: .libs/libgstmyelement.so.0.0.0: hidden symbol
`gst_buffer_get_vaapi_video_meta' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Makefile:1218: recipe for target 'libgstmyelement.la' failed
make[5]: *** [libgstmyelement.la] Error 1




I've included gstvaapivideometa.h in my c file. Modified the Makefile.am by
adding

plugin_LTLIBRARIES = libgstmyelement.la

libgstmyelement_source_c =                      \
        gstmyelement.c                          \
        $(NULL)

libgstmyelement_source_h =                      \
        gstmyelement.h                          \
        gstvaapivideometa.h                     \
        $(NULL)

libgstmyelement_la_SOURCES =                    \
        $(libgstmyelement_source_c) =           \
        $(libgstmyelement_source_h)             \
        $(NULL)

libgstmyelement_la_CFLAGS = -I <Path to gstreamer-vaapi/gst/vaapi/>
libgstmyelement_la_CFLAGS+=                     \
        -DIN_LIBGSTVAAPI                        \
        $(libgstvaapi_cflags)                   \
        $(NULL)


libgstmyelement_la_LIBADD =                     \
        $(libgstvaapi_libs)                     \
        $(GST_LIBS)                             \
        $(GST_BASE_LIBS)                        \
        $(GST_VIDEO_LIBS)                       \
        $(NULL)

libgstmyelement_la_LDFLAGS =                    \
        $(GST_ALL_LDFLAGS)                      \
        $(NULL)

libgstmyelement_la_LIBTOOLFLAGS = --tag=disable-static


Can anyone tell me how I can develop a custom plugin in gstreamer but
linking into existing libraries/functions/structs defined in other plugins.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180309/e5a5e40c/attachment.html>


More information about the gstreamer-devel mailing list