<div dir="ltr"><div><div><div><div><div>Hi Olivier<br><br></div>Tried your pipelines and it works (ie. not locking). However experimented a bit further and ended up with these two pipelines<br><br>gst-launch-1.0 -v videotestsrc ! $RAWVIDEO ! queue ! identity ! shmsink wait-for-connection=1 socket-path=/tmp/tmpsock shm-size=15000000 sync=true<br>
<br>gst-launch-1.0 shmsrc socket-path=/tmp/tmpsock ! $RAWVIDEO ! queue ! fakesink<br><br></div><div>Now if I first define RAWVIDEO as shown below:<br><br>RAWVIDEO='video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1'<br>
<br></div><div>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.<br><br></div><div>If i increase shm-size to shm-size=20000000, then it will run without freezing. And I can't see why.</div>
</div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 18, 2013 at 11:29 PM, Olivier Crête <span dir="ltr"><<a href="mailto:olivier.crete@collabora.com" target="_blank">olivier.crete@collabora.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<div class="im"><br>
On Wed, 2013-09-18 at 22:03 +0200, Peter Maersk-Moller wrote:<br>
<br>
> It turns out that GStreamer 1.1.4 is a bit more pedantic about timing<br>
> compared to 1.0.x and 0.10. The following pipeline will use the shared<br>
> memory area and then freeze in 1.1.4 while working in 1.0.x and 0.10<br>
><br>
> gst-launch-1.0 -v videotestsrc is-live=true ! $RAWVIDEO ! queue !<br>
> identity ! shmsink socket-path=/tmp/feed1-control-pipe<br>
> shm-size=20000000 wait-for-connection=0 sync=true<br>
><br>
><br>
> However if you add 'do-timestamp=true' to videotestsrc, it will flow<br>
> again, also in 1.1.4.<br>
><br>
> gst-launch-1.0 -v videotestsrc is-live=true do-timestamp=true !<br>
> $RAWVIDEO ! queue ! identity ! shmsink<br>
> socket-path=/tmp/feed1-control-pipe shm-size=20000000<br>
> wait-for-connection=0 sync=true<br>
<br>
</div>I'm curious to know how your pipeline is different from these ones which<br>
work fine for me using git master:<br>
<br>
gst-launch-1.0 -v videotestsrc ! 'video/x-raw, format=(string)I420,<br>
width=(int)320, height=(int)240, framerate=(fraction)30/1' ! queue !<br>
identity ! shmsink wait-for-connection=1 socket-path=/tmp/tmpsock<br>
shm-size=20000000 sync=true<br>
<br>
gst-launch-1.0 shmsrc socket-path=/tmp/tmpsock ! 'video/x-raw,<br>
format=(string)I420, width=(int)320, height=(int)240,<br>
framerate=(fraction)30/1' ! xvimagesink<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
Olivier Crête<br>
<a href="mailto:olivier.crete@collabora.com">olivier.crete@collabora.com</a><br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</font></span></blockquote></div><br></div>