[gst-devel] Pipeline seek problem

Itay Kirshenbaum ikirsh at gmail.com
Thu Aug 23 21:02:02 CEST 2007


Hi all,

I've constructed the following pipeline for streaming an mpeg4 avi file:

filesrc -> queue -> avidemux -> queue -> rtpmp4pay -> udpsink

When I tried adding seek support, I've noticed a strange behavior.
After a seek event is performed in the avidemux element, it pushes 5-10
seconds worth of buffers as fast as it can (the 5-10 seconds following the
seek position), and will only get to normal playing rate afterwards.

Now, I know the rate is only determined by the clock used in the udpsink
element (basesink, actually), but haven't been able to find out why this
happens.

>From going over basesink logs it seems after flush_start/stop+newsegment the
clock is reset, and all buffers received are just sent out, without actually
waiting for their time.
In the short time it takes the clock to get back to normal, dozens of
buffers are processed, which is what's causing the problem.

Any idea why this would happen?
Could this be caused by sending a seek event to a PLAYING pipeline instead
of a PAUSED one?

Thanks,
Itay.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20070823/f1a68503/attachment.htm>


More information about the gstreamer-devel mailing list