decode byte-stream video without gmainloop

Nicolas Dufresne nicolas at
Mon Feb 3 02:15:39 UTC 2020

Le dimanche 02 février 2020 à 22:10 +0000, Karl Lattimer a écrit :
> I’m trying to integrate gstreamer with RpiPlay ( for generic linux support ( and looking at the gstreamer documentation it seems difficult to find a method to write a buffer of received bytes to a pipeline. 
> Specifically I need to take the method call 
> void video_renderer_render_buffer(video_renderer_t *renderer,
> raop_ntp_t *ntp, unsigned char* data, int data_len, uint64_t pts, int
> type)
> and push that data into a gstreamer pipeline. As far as I understand
> the raop_ntp_t struct contains information regarding time
> synchronisation and pts provides an accurate timestamp. In my tests
> with gstreamer so far I’ve taken the buffer, dumped it to disk as an
> MP4 file, then used a simple playbin pipeline to open the file and
> play it. 

Have you looked at the appsrc element ? Note that GStreamer processing
is asynchronous, so you may have to copy the pointer, or make sure that
your wrapped buffer is consumed before returning.

> I suppose what I’m looking for here are pointers to the appropriate
> documentation for pushing a block of data into a decode pipeline,
> preferably without going as far as writing a gstreamer plugin as that
> wouldn’t sit well with the rest of the project.

> I’d also like to know if it’s possible to get a playbin to dump the
> pipeline that it’s using out somehow, there’s quite a lot of
> information in the verbose output, but I can’t seem to spot a
> pipeline which I could use on the command line in place of playbin, I
> think that would help me in the final goal. 

When you are using gst-launch-1.0 you can dump the pipeline into DOT
files using the env GST_DEBUG_DUMP_DOT_DIR=

To get the same thing in your application, you have to call:


This needs to be called wherever in your code you would like to inspect
the pipeline.

> Advice, guidance, links, examples appreciated. 
> Regards,
>  K
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at

More information about the gstreamer-devel mailing list