using appsink and appsrc

Kalle Vahlman kalle.vahlman at
Wed Mar 7 00:50:44 PST 2012

2012/3/7 gerry6 <gerry6 at>:
> Can anyone help me with this problem please??
> I am trying to get appsrc and appsink to work together. The idea is to get
> appsink to export to some kind of data to shared memory (for instance the
> YUV frames generated by vdeotestsrc). And then in a client application to be
> able to recover the frames and use them for something else. In the present
> case my server is just a frame generator.
> For the time being, the client would simply read these frames and display
> them, but in the future, I’d like to be able to access to the YUV pixel data
> and use them for my own app. Pipelines are as follows:
> Appsink:
> gst-launch -v videotestsrc ! video/x-raw-yuv, format =\(fourcc\)I420,
> framerate=\(fraction\)25/1, width=640, height=480 ! ffmpegcolorspace ! queue
> ! appsink name=video_test
> Appsrc:
> gst-launch -v appsrc name=video_test ! video/x-raw-yuv,format
> =\(fourcc\)I420, framerate=\(fraction\)25/1, width=640, height=480 !
> ffmpegcolorspace ! queue ! xvimagesink

You make a false assumption that simply giving the same name to
appsink and appsrc will somehow connect the two in completely separate
processes. This is not how the elements work.

The point of appsrc/appsink that an application can push/pull buffers
(containing raw frames or whatever) directly to/from them. gst-launch
is not going to do that, so nothing will be coming out from the appsrc
for the rest of the pipeline in your second example.

Kalle Vahlman, zuh at
Powered by
Interesting stuff at

More information about the gstreamer-devel mailing list