shmsink changes from 1.0.10 to 1.1.4

Josh Doe josh at joshdoe.com
Thu Sep 19 06:05:33 PDT 2013


On Wed, Sep 18, 2013 at 7:26 PM, Peter Maersk-Moller <pmaersk at gmail.com> wrote:
> Hi Olivier
>
> Tried your pipelines and it works (ie. not locking). However experimented a
> bit further and ended up with these two pipelines
>
> gst-launch-1.0 -v videotestsrc ! $RAWVIDEO ! queue ! identity ! shmsink
> wait-for-connection=1 socket-path=/tmp/tmpsock shm-size=15000000 sync=true
>
> gst-launch-1.0 shmsrc socket-path=/tmp/tmpsock ! $RAWVIDEO ! queue !
> fakesink
>
> Now if I first define RAWVIDEO as shown below:
>
> RAWVIDEO='video/x-raw, format=(string)I420, width=(int)1280,
> height=(int)720, framerate=(fraction)30/1'
>
> Then around 9-10 frames give or take are acknowledged in shmpipe.c before
> freezing. 15000000 is 10.8 frames in that size in I420.
>
> If i increase shm-size to shm-size=20000000, then it will run without
> freezing. And I can't see why.

I've experienced this as well, having to bump the shm-size up
significantly to avoid any blocking. I'd think a warning would be
better than blocking if the receiving end can't keep up with the
sending side, but I'd have to look at the implementation to see if/how
this could be done.

-Josh


More information about the gstreamer-devel mailing list