After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 767689 - oggdemux: re-enable the seek on EOS when determining stream length
oggdemux: re-enable the seek on EOS when determining stream length
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 1.8.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 769515 (view as bug list)
Depends on: 766673
Blocks:
 
 
Reported: 2016-06-15 12:59 UTC by Vincent Penquerc'h
Modified: 2016-08-24 06:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
oggdemux: re-enable the seek on EOS when determining stream length (3.06 KB, patch)
2016-06-16 09:05 UTC, Vincent Penquerc'h
committed Details | Review

Description Vincent Penquerc'h 2016-06-15 12:59:44 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.
Comment 1 Vincent Penquerc'h 2016-06-16 09:05:05 UTC
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.
Comment 2 Sebastian Dröge (slomo) 2016-06-17 08:32:39 UTC
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.
Comment 3 Vincent Penquerc'h 2016-07-06 09:34:59 UTC
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).
Comment 4 Vincent Penquerc'h 2016-08-04 15:01:14 UTC
Seems a regression test was chanced upon by someone else in https://bugzilla.gnome.org/show_bug.cgi?id=769515
Comment 5 Edward Hervey 2016-08-05 05:51:37 UTC
(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
Comment 6 Guillaume Desmottes 2016-08-05 09:47:11 UTC
*** Bug 769515 has been marked as a duplicate of this bug. ***