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 562827 - [qtdemux] Issue with editlist media-rate
[qtdemux] Issue with editlist media-rate
Status: RESOLVED DUPLICATE of bug 567800
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-12-01 01:41 UTC by Jean-François Fortin Tam
Modified: 2009-02-26 17:14 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description Jean-François Fortin Tam 2008-12-01 01:41:05 UTC
http://public.ecchi.ca/pont.mp4

It won't play in Totem, but it will in mplayer and vlc. I just encoded this with avidemux.
Comment 1 Edward Hervey 2008-12-03 10:15:14 UTC
for some reason qtdemux is outputing a newsegment with a rate of ... 0.000015

 creating newsegment update 0, rate 0.000015, format GST_FORMAT_TIME, start 0:00:00.000000000, stop 0:12:51.105000000, position 0:00:00.000000000

The value that seems wrong is the rate value parsed in qtdemux_parse_segments:

created segment 0 time 0:00:00.000000000, duration 0:12:51.105000000, media_time 0:00:00.000000000, rate 1.52588e-05

The value is read as a "floating point 32bit", whereas reading it as a "32bit unsigned integer" returns 1.

The QTFF specifications state the following regarding the "media rate field":
"""A 32-bit fixed-point number that specifies the relative rate at which to play the media corresponding to this edit segment. This rate value cannot be 0 or negative."""
Comment 2 Edward Hervey 2008-12-03 10:15:57 UTC
Oh, and the reason why vlc and mplayer don't 'screw up' is because... they ignore that field :)
Comment 3 Edward Hervey 2009-02-26 17:08:37 UTC
I propose a wild hack to fix this.

If we read the value as a "32bit unsigned integer" and it returns 1, we use 1.0.
Else we read the normal value.

Comment 4 Edward Hervey 2009-02-26 17:14:15 UTC
Looks like wim already fixed this :)

commit 293671170e3d008c73cdf6b0e56bbb730726c633
Author: Wim Taymans <wim.taymans@gmail.com>
Date:   Thu Jan 15 14:53:18 2009 +0000

    gst/qtdemux/qtdemux.c: Catch invalid and commonly wrong playback rates in the elst atoms.
    
    Original commit message from CVS:
    * gst/qtdemux/qtdemux.c: (qtdemux_parse_segments):
    Catch invalid and commonly wrong playback rates in the elst atoms.
    Fixes #567800.



*** This bug has been marked as a duplicate of 567800 ***