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 612443 - oggdemux: only use information from skeleton if we have nothing better
oggdemux: only use information from skeleton if we have nothing better
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.26
Other Linux
: Normal normal
: 0.10.36
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-03-10 15:23 UTC by Olivier Aubert
Modified: 2011-09-19 22:23 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
oggstream: only use information from skeleton if we have nothing better (2.72 KB, patch)
2011-01-13 15:40 UTC, Vincent Penquerc'h
committed Details | Review

Description Olivier Aubert 2010-03-10 15:23:31 UTC
gstreamer is unable to read the OGV file night_of_the_living_dead.ogv (from http://www.archive.org/details/night_of_the_living_dead ) with the following pipeline:

gst-launch playbin uri=file:///data/video/night_of_the_living_dead.ogv

It simply displays the following messages, and blocks without any output:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
(gst-launch-0.10:18423): GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion `denom != 0' failed
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock


The file can be read with xine, vlc, mplayer. mplayer gives the following information about an unknown type for stream 0, it maybe a cause:

Playing /data/video/night_of_the_living_dead.ogv.
Ogg stream 0 is of an unknown type
[Ogg] stream 1: video (Theora v3.2.1), -vid 0
[Ogg] stream 2: audio (Vorbis), -aid 0
Comment 1 Sebastian Dröge (slomo) 2010-03-15 11:15:09 UTC
The problem here seems to be, that the skeleton stream contains invalid (?) information. prestime is 0/1000, basetime is 0/0 (which gives the warning above).
Comment 2 Vincent Penquerc'h 2011-01-13 13:56:31 UTC
The Ogg file currently on archive does not contain a skeleton stream, I guess it's been reencoded since. Could you attach the file /tmp/OUT created by:

dd if=/data/video/night_of_the_living_dead.ogv of=/tmp/OUT bs=4096 count=1024

Thanks.
Comment 3 Olivier Aubert 2011-01-13 14:48:07 UTC
I have extracted the first 4MB and put them online at http://liris.cnrs.fr/advene/debian/tmp/OUT (bugzilla does not accept non-patch attachments larger than 1MB)
Comment 4 Vincent Penquerc'h 2011-01-13 15:40:21 UTC
Created attachment 178237 [details] [review]
oggstream: only use information from skeleton if we have nothing better

The codec setup headers are a lot more likely to have correct information,
especially as it's easy to remux a skeleton in a file where streams don't
have the same parameters (I've even seen a file with two skeletons).

Still, this is useful in the case we have a codec we can't decode, so we
can at least (theoretically) convert granpos to time, so we discard this
information if the codec setup has already provided it.

This fixes playback on (at lesat) the original archive.org encoding of
"The Night of the Living Dead" (now replaced by another encoding).
Comment 5 Mark Nauwelaerts 2011-04-20 14:05:17 UTC
Looks good, will push after freeze.
Comment 6 Vincent Penquerc'h 2011-09-19 15:37:43 UTC
Just realized this isn't in yet, so just a little ping to bring it forward :)
Cheers
Comment 7 Tim-Philipp Müller 2011-09-19 22:23:08 UTC
commit c956c5fd008fdc7ff6ebcdbfe79d1d0332ae0374
Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Date:   Thu Jan 13 15:35:30 2011 +0000

    oggstream: only use information from skeleton if we have nothing better
    
    The codec setup headers are a lot more likely to have correct information,
    especially as it's easy to remux a skeleton in a file where streams don't
    have the same parameters (I've even seen a file with two skeletons).
    
    Still, this is useful in the case we have a codec we can't decode, so we
    can at least (theoretically) convert granpos to time, so we discard this
    information if the codec setup has already provided it.
    
    This fixes playback on (at lesat) the original archive.org encoding of
    "The Night of the Living Dead" (now replaced by another encoding).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=612443