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 657062 - oggdemux: do not skip sparse streams when determining start times
oggdemux: do not skip sparse streams when determining start times
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
unspecified
Other All
: Normal normal
: 0.10.36
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-08-22 09:03 UTC by Vincent Penquerc'h
Modified: 2011-08-23 08:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
oggdemux: do not skip sparse streams when determining start times (2.36 KB, patch)
2011-08-22 09:03 UTC, Vincent Penquerc'h
none Details | Review
oggdemux: do not ignore sparse streams' start time (1.39 KB, patch)
2011-08-22 13:59 UTC, Vincent Penquerc'h
committed Details | Review
oggdemux: do not skip sparse streams when determining start times (1.01 KB, patch)
2011-08-22 13:59 UTC, Vincent Penquerc'h
committed Details | Review

Description Vincent Penquerc'h 2011-08-22 09:03:56 UTC
Except Skeleton, which does not have data packets, and which headers
always have 0 granulepos.

This fixes demuxing of streams containing only sparse streams,
which would cause an infinite loop in _read_end_chain.

This reverts 64dfad46f29799f99cfe10178556c361bd9918ff, which does
not give a rationale for the change nor a test case it fixes, so
this commit might break something. Playing/seeking on the Sintel
movie works fine though, so it seems good so far.
Comment 1 Vincent Penquerc'h 2011-08-22 09:03:59 UTC
Created attachment 194350 [details] [review]
oggdemux: do not skip sparse streams when determining start times
Comment 2 Tim-Philipp Müller 2011-08-22 09:56:34 UTC
> This reverts 64dfad46f29799f99cfe10178556c361bd9918ff ,
> which does not give a rationale for the change nor a test
> case it fixes

Which was:

 commit 64dfad46f29799f99cfe10178556c361bd9918ff
 Author: David Schleef <ds@schleef.org>
 Date:   Sun Oct 10 15:22:04 2010 -0700

    oggdemux: change checks from is_skeleton to is_sparse

David, do you remember what that was for?
Comment 3 Vincent Penquerc'h 2011-08-22 13:59:26 UTC
Right, I remember now: oggdemux would wait for a Kate packet, and would buffer a whole lot before finding one.
With that remembered, I'm withdrawing that patch, and replacing it with the following two.
Comment 4 Vincent Penquerc'h 2011-08-22 13:59:45 UTC
Created attachment 194365 [details] [review]
oggdemux: do not ignore sparse streams' start time

But do not wait for them either, if we don't have a packet for them.
Comment 5 Vincent Penquerc'h 2011-08-22 13:59:54 UTC
Created attachment 194366 [details] [review]
oggdemux: do not skip sparse streams when determining start times

This fixes demuxing of streams containing only sparse streams,
which would cause an infinite loop in _read_end_chain.
Comment 6 Sebastian Dröge (slomo) 2011-08-23 08:36:59 UTC
commit 8a752e44e20fa865db29316af0f946c50666ed4a
Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Date:   Mon Aug 22 14:56:38 2011 +0100

    oggdemux: do not skip sparse streams when determining start times
    
    This fixes demuxing of streams containing only sparse streams,
    which would cause an infinite loop in _read_end_chain.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=657062

commit 4e9508e2ec9db9a7eb8cccf1b8fef8bd80d1d779
Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Date:   Mon Aug 22 14:55:59 2011 +0100

    oggdemux: do not ignore sparse streams' start time
    
    But do not wait for them either, if we don't have a packet for them.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=657062