State change to Paused never completes on OS X

Gottfried Haider gottfried.haider at gmail.com
Fri Jul 8 14:31:58 UTC 2016


Hello all,

I have a playbin-based pipeline of a local file. I don't want playback
to begin immediately, but want to be able to e.g. seek to a specific
position or retrieve the length of the file first.

On Linux, I was able to to initially set my pipeline's state to
paused, and - when a seek or similar was requested - wait for the
asynchronous state change to complete, at which point the seek would
succeed. On OS X, however, the asynchronous state change will never
complete, and the pipeline hovers between ready and paused forever.

Any idea what I am doing wrong here? This is with GStreamer 1.8.1.


The setup of my pipeline would be here:
https://github.com/gohai/processing-glvideo/blob/740d2f0d7b8222306d9723149496bce2c01be80a/src/native/impl.c#L437

My seek method:
https://github.com/gohai/processing-glvideo/blob/740d2f0d7b8222306d9723149496bce2c01be80a/src/native/impl.c#L602

At this point, gst_element_get_state() will forever return
GST_STATE_CHANGE_ASYNC with current state being GST_STATE_READY and
pending state being GST_STATE_PAUSED.


Any ideas would be greatly apprechiated.

Best
Gottfried


More information about the gstreamer-devel mailing list