<div dir="ltr"><div><div>Problem solved.<br><br></div>It turns out that GStreamer 1.1.4 is a bit more pedantic about timing compared to 1.0.x and 0.10. The following pipeline will use the shared 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 ! 
identity ! shmsink socket-path=/tmp/feed1-control-pipe shm-size=20000000
 wait-for-connection=0 sync=true<br><br></div><div>However if you add 'do-timestamp=true' to videotestsrc, it will flow again, also in 1.1.4.<br><br>gst-launch-1.0 -v videotestsrc is-live=true do-timestamp=true ! $RAWVIDEO ! queue ! 
identity ! shmsink socket-path=/tmp/feed1-control-pipe shm-size=20000000
 wait-for-connection=0 sync=true<br><br></div><div>I guess that is an overall change in 1.1.x not only affecting shmsink? Probably a right decision, but it will for sure be difficult for many current implementations.<br>
<br></div><div>Best regards<br></div><div>Peter MM<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 18, 2013 at 7:07 PM, Peter Maersk-Moller <span dir="ltr"><<a href="mailto:pmaersk@gmail.com" target="_blank">pmaersk@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hi.<br><br></div>Apparently there are some changes in plugin shmsink between 1.0.10 and 1.1.4 that breaks how external programs should use the shmsink. I tried to look in the release announcements for 1.1.1-1.1.4, but only smaller changes mostly wrt to how gstreamer handles shmsinks without a connected process are listed. Nevertheless, there appear to me to be changes that goes beyond that.<br>

<br></div><div>I have a program, namely Snowmix that uses the shm of GStreamer heavily and it works quite well up till 1.0.10, but for 1.1.4 the shmsink doesn't seem to understand when I signal that I have read the buffer it has send. I do receive frames send via shmsink until the allocated shm area has been used, and then no more, even though I signal over the control connection, that I have released the buffers sent.<br>

<br></div><div>Has the binary layout format for the control connection messages changed? If yes, in what way? Is it documented somewhere?<br><br></div><div>If the binary format has changed, we really need for it to be able to tell its version over the control connection so applications can detect the gstreamer version and act accordingly.<br>

<br></div><div>The pipeline used for testing is this simple pipeline<br><br>RAWVIDEO='video/x-raw, format=(string)BGRA, bpp=(int)32, depth=(int)32, endianness=(int)4321, width=(int)1280, height=(int)720, framerate=(fraction)24/1, pixel-aspect-ratio=(fraction)1/1, interlaced=(boolean)false'<br>

<br>gst-launch-1.0 -v videotestsrc is-live=true !\<br>    $RAWVIDEO !\<br>    queue !\<br>    identity !\<br>    shmsink socket-path=/tmp/feed1-control-pipe shm-size=10000000 wait-for-connection=1 sync=true<br><br></div>
<div>
Kind regards<br></div><div>Peter MM<br></div></div>
</blockquote></div><br></div>