Why are all my seek events ignored?

Tim Müller tim at centricular.com
Mon Feb 16 03:57:14 PST 2015


On Mon, 2015-02-16 at 06:16 +0200, Nikos Chantziaras wrote:
> That doesn't work either. If I do:
> 
>    pipeline->setState(QGst::StatePlaying);
>    pipeline->sendEvent(seekEv);
> 
> without waiting with a getState() first before sending the event, the 
> seek has no effect. I assume that due to all calls being asynchronous, 
> the state has not transitioned yet from StateNull to StatePlaying when 
> the event gets sent. But I don't know for sure, since I'm not familiar 
> with the gstreamer internals.

You assume right. What you wrote in your previous message is correct.
You need to wait for the pipeline to be prerolled (reach PAUSED state,
ASYNC_DONE message on the bus) before you can send a seek. And usually
you will want to do a flushing seek, so set the FLUSH seek flag on your
request (and for a media player usually also the KEY_UNIT flag).

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list