GNOME Bugzilla – Bug 733495
uridecodebin/playbin: Does not properly do async state changes
Last modified: 2014-07-23 12:33:30 UTC
It's probably my recent decodebin changes. Sink is waiting to pre-roll, decoders does ALLOCATION query but that is never answered because the sink is waiting to pre-roll. And as discoverer never goes to PLAYING it never will pre-roll. Maybe happens because now we start the decoders earlier than before, and due to linking things further downstream after starting it will try to reconfigure.
+ Trace 233848
I have what seems to be a related problem, uridecodebin hangs on the first frame of any file (i.e "uridecodebin file://video.mp4 ! autovideosink") with the line "Redistributing latency...". The same files work fine with playbin and filesrc ! decodebin. Is this the same bug?
Probably not. Does it happen with 1.5, i.e. latest git master? If not please file a separate bug for that :)
I mean "*only* with 1.5 / git master"
uridecodebin worked properly for me until I updated to git master recently, I'm not sure what revision I was on previously. My issue happens with any media file, not just a specific one.
*** Bug 733596 has been marked as a duplicate of this bug. ***
commit 73646bd04f4755ae3709ae4bd10b122e74358711 Author: Sebastian Dröge <sebastian@centricular.com> Date: Wed Jul 23 12:36:15 2014 +0200 playbin: Go asynchronously from READY to PAUSED We now add all our elements to uridecodebin *after* GstBin::change_state(READY->PAUSED), so we need to post async-start and async-done messages ourselves if we want to work async. https://bugzilla.gnome.org/show_bug.cgi?id=733495 commit 5c038192e25e6bfc68de326d6f249592b9532cd5 Author: Sebastian Dröge <sebastian@centricular.com> Date: Wed Jul 23 12:27:36 2014 +0200 uridecodebin: Go asynchronously from READY to PAUSED We now add all our elements to uridecodebin *after* GstBin::change_state(READY->PAUSED), so we need to post async-start and async-done messages ourselves if we want to work async. https://bugzilla.gnome.org/show_bug.cgi?id=733495
The commit fixed my issue, thanks!