[gst-devel] Playing/pausing/swapping separate bins/elements within a running pipeline - pause problem

Nick Daniels somebodys.home.is at gmail.com
Tue Feb 2 14:44:04 CET 2010


Hi Donny,

> I don't think what you're trying to do is supported by the API

Thanks for the reply, I'm probably wrong but I'm really tempted to think
it's possible as it's so close to working...

I'm able to:
   1. Disconnect the bin from the videomixer and attach it instead to a
fakesink.
   2. Set the bin to Paused (and it pauses)
   3. Set the bin to Playing (and it plays, although as mentioned before
from the wrong place)
   4. Disconnect the bin from the fakesink and reconnect it to the
videomixer.

This all works while the videomixer continues to output the video from the
second bin with no gliches. Almost perfect..! The only thing that isn't
working is the paused bin resumes from where it would have been had you not
paused it (ie. it's like we've just frozen the image and the video is still
playing in the background).

Why would this be? I don't think I understand the internals of GStreamer
well enough, but I assume its because when it resumes it resumes referencing
the pipelines clock which is still incrementing. I suppose a hack would be
to add an offset to that bin's clock or something, although I suppose that
could cause problems when re-attaching it to the videomixer.

A nudge in the right direction would be great though.
Nick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20100202/c09dc9a5/attachment.htm>


More information about the gstreamer-devel mailing list