Problem with Gstreamer appsink element

Problem with Gstreamer appsink element

This question is answered

HI,

I am trying to use the gstreamer app plugin to pull a raw buffer from a stream, do some analysis of the data, then push it back into the pipeline. I am trying to use appsink and appsrc to do this. I have written my code that will do this, but when I try to build I have some linking errors that I can't seem to fix.

 

Here is the important part of the 'make' log:

         .......

      Checking dependencies for dvsdk_2_00_00
        Checking dependencies for xdctools_3_10_05
        Compiling and installing xdctools_3_10_05...
      Compiling and installing dvsdk_2_00_00...
      Checking dependencies for gst-dmai-plugins
      Compiling and installing gst-dmai-plugins...
    Entering myapps...
      Checking dependencies for APPSRC-APPSINK
      Compiling and installing APPSRC-APPSINK...
gst-app-app.o: In function `main':
gst-app-app.c:(.text+0x11c): undefined reference to `gst_app_buffer_new'
gst-app-app.c:(.text+0x13c): undefined reference to `gst_app_src_get_type'
gst-app-app.c:(.text+0x150): undefined reference to `gst_app_src_push_buffer'
gst-app-app.c:(.text+0x17c): undefined reference to `gst_app_buffer_new'
gst-app-app.c:(.text+0x1a0): undefined reference to `gst_app_src_get_type'
gst-app-app.c:(.text+0x1b4): undefined reference to `gst_app_src_push_buffer'
gst-app-app.c:(.text+0x1c8): undefined reference to `gst_app_src_get_type'
gst-app-app.c:(.text+0x1d8): undefined reference to `gst_app_src_end_of_stream'
gst-app-app.c:(.text+0x1e4): undefined reference to `gst_app_sink_get_type'
gst-app-app.c:(.text+0x1f4): undefined reference to `gst_app_sink_pull_buffer'
gst-app-app.c:(.text+0x214): undefined reference to `gst_app_sink_get_type'
gst-app-app.c:(.text+0x224): undefined reference to `gst_app_sink_is_eos'
collect2: ld returned 1 exit status
make[3]: *** [build] Error 1
install: cannot stat `gst-app-app': No such file or directory
Error building APPSRC-APPSINK
make[3]: *** [install] Error 1
make[2]: *** [dependency_build] Error 1
make[1]: *** [myapps_build] Error 1
make[1]: Target `build' not remade because of errors.
make: *** [fs_build] Error 2

 

I have included the necessary files, I think

#include <gst/gst.h>
#include <gst/app/gstappsrc.h>
#include <gst/app/gstappbuffer.h>
#include <gst/app/gstappsink.h>
#include <gst/gstbuffer.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

 

I have had a look through and found the source code for these plugins, but I still can't seem to link the files.

 

My pipeline is very simple: (with appropriate properties set of course)

v4l2src ! dmaiaccel ! queue ! appsink

appsrc ! TIDmaiVideoSink

 

 

Any help would be greatly appreciated

Verified Answer
  • All good, I just needed to add:

        -lgstapp-0.10

     to my application makefile so that the libraries were linked. Silly mistake really!

     

    Kacie

All Replies
  • All good, I just needed to add:

        -lgstapp-0.10

     to my application makefile so that the libraries were linked. Silly mistake really!

     

    Kacie