Trouble seeking a complex pipeline

Sebastian Dröge sebastian at centricular.com
Wed Aug 6 00:41:23 PDT 2014


On Di, 2014-08-05 at 22:20 -0500, isaac wrote:
> Hello,
> I'm writing a video player application that dynamically plays videos 
> based on user commands, looping each video and crossfading between them. 
> My pipeline is rather complex, please see the image here 
> <https://owncloud.isrv.pw/public.php?service=files&t=54bceac798e5501daa196dffc5a1a242&download> 
> for the details. In my Python code, I've inserted a probe after my 
> uridecodebin elements to catch EOS events, when an EOS event comes 
> through I post a message to the bus and drop the EOS. When the message 
> is received, the bus callback calls seek_simple() on the message's 
> source uridecodebin. However, the uridecodebin is never seeks but 
> instead hangs. Please see my example script here 
> <https://owncloud.isrv.pw/public.php?service=files&t=a10f944344286f87bb7583ecc8eede5c&download>, 
> which demonstrates the issue I'm having. How can I seek the uridecodebin 
> back to the start of the file?

You can't seek in a pipeline from the streaming thread, otherwise it
will deadlock. You'll have to defer the seeking to another thread and
then it should work.

If it still doesn't, please provide backtraces from all threads at the
time it deadlocks.

-- 
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140806/069d6ae6/attachment-0001.sig>


More information about the gstreamer-devel mailing list