gstreamer shmsrc interface

Martin Bisson martin.bisson at
Thu Jun 23 21:28:39 PDT 2011

My 2 cents:

If you want to send your images (from your existing non-GStreamer 
application) to GStreamer within the same application/process, use 
appsource as an interface to send your images to a GStreamer pipeline.  
If you want your application to remain a stand-alone application with no 
"explicit" link to GStreamer, you can use shm stuff and launch the 
GStreamer pipeline (using shmsrc) in a totally different process, with 
the caveats mentionned by Olivier.


On 23/06/2011 8:04 PM, mattes wrote:
>> That said, if both ends are inside the same program, you should be using appsrc/appsink instead.
>> The shm stuff is only meant for IPC, also, you can integrate shmpipe.[ch] inside your own application
>> if you don't want to have GStreamer on both sides (but there is no API guarantee and no communication
>> compatibility guarantees for future releases).
> My app is an existing C application that captures and massages video frames.  It is not based on
> gstreamer. I want to extend the functionality of the current app and import the video frames into
> gstreamer.
> I was following some hints mentioned in shmpipe.h, which leaves room for interpretation on how things
> and what order they need to be done. Ran into some issues. That's why I was interested in a small test
> app, (hopefully something not gstreamer based).
> Though, I think, I figured a couple of things out.
> At least I can feed and visualize frames now in gstreamer doing this:
>    gst-launch shmsrc socket-path=/tmp/mxtdata !
> video/x-raw-yuv,width=320,height=240,framerate=5/1,format='(fourcc)YV12' ! xvimagesink
> thanx for the input
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at

More information about the gstreamer-devel mailing list