Non-blocking pull of buffers in appsink

Erik Slagter erik at
Tue Aug 2 05:31:54 PDT 2011

> I dont think there should be case that you get new-buffer signal, but
> have no buffer to pull actually.

We have a special case here were we extract subtitles out of the
pipeline into an appsink and then overlay the subs using OSD instead of
video overlay. It appears that gstreamer tends to send subs way ahead of
the current playing video to the appsink, so they need to be queued (you
cannot inspect the subs before it is pulled). Especially during seeks it
appears that gst's internal queue can get out of sync with our own
"queued subs" counter which is incremented on new-buffer signal and so
the pull gets blocked, stopping the application.

I have made a workaround now, using a seperate thread for pulling, which
works really wel, but shouldn't be necessary.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5110 bytes
Desc: S/MIME Cryptographic Signature
URL: <>

More information about the gstreamer-devel mailing list