Appsink and appsrc using in pipeline

gonengoktug gonengoktug at gmail.com
Wed Jan 29 12:39:16 UTC 2020


Hi all, I tried to create a pipeline  containing source(i.e camera or video)
appsink(to get buffer as image and text overlay via OpenCV) appsource (to
push modified images as buffer) and sink (output video). So am I doing right
thing or it's just a waste of time. I don't have anyone to guide me in this
challenge so any guide or help will be amazing for me 

On the other hand,
gst_element_link_many(mydata.src,mydata.appsink,mydata.appsrc,mydata.sink,NULL)
returns false. I guess it means elements are not linked in the pipeline so
how can I link them? 

Thanks 

Here is my still progressing code. I am working on now.

Sincerely


typedef struct {
    GMainLoop *loop;
    GstElement *pipeline,*appsink,*appsrc;
    GstElement *sink,*src;
    GstBus *bus;
    GstMessage *msg;
    guint srcid;

}data;

int main(int argc, char*argv[]) {
    g_printerr("Initializing..");
    gst_init(&argc,&argv);
    g_printerr("Initialized..");


    data mydata;
    
    g_printerr("Setting elements(pipeline,appsink,appsrc..etc");
    mydata.pipeline=gst_pipeline_new("mypipeline");
    mydata.appsrc=gst_element_factory_make("appsrc","myappsrc");
    mydata.appsink=gst_element_factory_make("appsink","myappsink");
    mydata.src=gst_element_factory_make("videotestsrc","mysrc");
    mydata.sink=gst_element_factory_make("autovideosink","mysink");
    
    if(!mydata.pipeline || !mydata.appsink || !mydata.appsrc || !mydata.src
|| !mydata.sink)
        g_printerr("Couldn't create at least one element or pipeline");
   src --> appsink --> appsrc --> sink
   
gst_bin_add_many(GST_BIN(mydata.pipeline),mydata.src,mydata.appsink,mydata.appsrc,mydata.sink,NULL);
    
   
gst_element_link_many(mydata.src,mydata.appsink,mydata.appsrc,mydata.sink,NULL);







--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list