GNOME Bugzilla – Bug 662049
oggdemux/oggmux in push mode cause preroll to wedge
Last modified: 2011-11-07 18:31:38 UTC
Push mode issue, at first glance. Logging so I don't forget, unless someone beats me to it. $ gst-launch filesrc location=test.ogg ! queue ! oggdemux ! 'audio/x-vorbis' ! oggmux ! fakesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ^CCaught interrupt -- handling interrupt. Interrupt: Stopping pipeline ... ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... $ gst-launch filesrc location=test.ogg ! oggdemux ! 'audio/x-vorbis' ! oggmux ! fakesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Got EOS from element "pipeline0". Execution ended after 242682345 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
Created attachment 199349 [details] [review] oggdemux: survive skeleton finding length behind our backs in push mode In push mode, we determine duration by doing a seek to the end of the stream. However, a skeleton stream with an index will cause the duration to be known already, and we end up never setting the push_time_duration variable which we use to know duration has been determined.
regression and simple fix, marking as blocker.
commit 353153d07956a0fd44b63741a49a4ed035162f58 Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> Date: Tue Oct 18 17:58:49 2011 +0100 oggdemux: survive skeleton finding length behind our backs in push mode In push mode, we determine duration by doing a seek to the end of the stream. However, a skeleton stream with an index will cause the duration to be known already, and we end up never setting the push_time_duration variable which we use to know duration has been determined. https://bugzilla.gnome.org/show_bug.cgi?id=662049