shmsrc/shmsink plugin

Pazzo Da Legare pazzodalegare at gmail.com
Tue Feb 21 02:39:36 PST 2012


I'm trying to use shmsrc/shmsink to decode a video source once and use
decoded video from many application so I start testing the plugins
using videotestsrc to produce a test stream and many consumer to
receive it


Producer:
gst-launch videotestsrc ! shmsink socket-path=/tmp/dudda
shm-size=10000000 wait-for-connection=false preroll-queue-len=5

Consumers:

gst-launch shmsrc socket-path=/tmp/dudda !
"video/x-raw-yuv,format=(fourcc)YUY2, color-matrix=(string)sdtv,
chroma-site=(string)mpeg2,width=(int)320, height=(int)240,
framerate=(fraction)30/1" ! autovideosink

But when I start the fifth (sometimes the forth) consumer I ran into
problem: which are the limitation of shmsrc, I wonder the use of a
global lock.

The message I got is:

gst-launch shmsrc socket-path=/tmp/blah !
"video/x-raw-yuv,format=(fourcc)YUY2, color-matrix=(string)sdtv,
chroma-site=(string)mpeg2,width=(int)320, height=(int)240,
framerate=(fraction)30/1" ! autovideosink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstCapsFilter:capsfilter0:
Filter caps do not completely specify the output format
Additional debug info:
gstcapsfilter.c(392): gst_capsfilter_prepare_buf ():
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0:
Output caps are unfixed: EMPTY
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

Any clue?

Maurizio


More information about the gstreamer-devel mailing list