GNOME Bugzilla – Bug 767689
oggdemux: re-enable the seek on EOS when determining stream length
Last modified: 2016-08-24 06:13:11 UTC
+++ This bug was initially created as a clone of Bug #766673 +++ This bug is about the workaround for the queue2 behavior described in the linked bug. The commented out code seems to work now. I re-enabled it, and disabled the EOS avoidance workaround, and I can play from souphttpsrc with a queue2, and the re-enabled code gets executed. It might have been a separate bug that caused this somehow at the time. While investigating this, I found a crash in queue2, https://bugzilla.gnome.org/show_bug.cgi?id=767688 but this is not related. I'll test a bit more and post a patch if it seems solid.
Created attachment 329896 [details] [review] oggdemux: re-enable the seek on EOS when determining stream length I totally expect Murphy to apply his law though.
Maybe to prevent Murphy from getting after us in the future (if it works now), add a gst-validate test for this (which would also be useful for other container formats to have) :) Something that plays via HTTP (already exists in gst-validate) and uses queue2 in the right mode (does not exist), and then just goes through the standard scenarios for playback that exist already.
Well, I've got no clue how to do that. Too obscure to work out where to add a new test. Besides, it seems an old oggdemux that breaks on those seeks is unable to be built because, obviously, it needs to pull older glibs and bison and who knows what else next. And that commit was made on 0.10 (how time flies).
Seems a regression test was chanced upon by someone else in https://bugzilla.gnome.org/show_bug.cgi?id=769515
(In reply to Vincent Penquerc'h from comment #4) > Seems a regression test was chanced upon by someone else in > https://bugzilla.gnome.org/show_bug.cgi?id=769515 Indeed, and after more testing on my side it does seem to remove the issues. Note that those validate tests are what Sebastian asked for (http + ogg + queue2). Thanks ! commit 273d35ce2045f49862d97202fef5cf00b8c0ff6c Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> Date: Thu Jun 16 10:01:50 2016 +0100 oggdemux: remove eos avoidance workaround This workaround tried to avoid an EOS event when seeking to the end of an Ogg stream in order to find its duration. At some point, an EOS event there would cause any queue2 upstream to pause and not restart on a seek back to the beginning. This now appears to not be the case anymore, and so the workaround can be removed. https://bugzilla.gnome.org/show_bug.cgi?id=767689
*** Bug 769515 has been marked as a duplicate of this bug. ***