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 548831 - matroska demuxer setting incorrect timestamps
matroska demuxer setting incorrect timestamps
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.x
Other Linux
: Normal normal
: 0.10.11
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-08-21 09:52 UTC by Johannes Schauer
Modified: 2008-08-21 13:22 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Johannes Schauer 2008-08-21 09:52:40 UTC
steps to reproduce:

wget http://www.matroska.org/samples/mewmew/downloads/mewmew-vorbis-ssa.mkv

gst-launch-0.10 filesrc location=mewmew-vorbis-ssa.mkv ! matroskademux ! audio/x-vorbis ! fakesink -v


the sample plays fine with gst-launch-0.10 playbin - the audiosink seems to compensate for the incorrect timestamps

i discovered this while trying to convert the audio but ended up with heavy dissortions while playbin worked fine.
Comment 1 Sebastian Dröge (slomo) 2008-08-21 12:52:39 UTC
2008-08-21  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

        * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
        Don't calculate the default duration of a frame from the audio sampling
        rate. This only works for raw audio if every frame contains a single
        sample and results in broken buffer durations for other formats
        if no specified default duration is given or the blocks have no 
        duration. Fixes bug #548831.
Comment 2 Sebastian Dröge (slomo) 2008-08-21 13:22:16 UTC
2008-08-21  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

        * gst/matroska/matroska-demux.c:
        (gst_matroska_demux_parse_blockgroup_or_simpleblock):
        If the duration of a block is unknown only use the timestamp for the 
        first lace and use GST_CLOCK_TIME_NONE as duration for the following
        laces. Otherwise every lace has the same timestamp which leads to
        various problems. Really fixes bug #548831.