GNOME Bugzilla – Bug 562827
[qtdemux] Issue with editlist media-rate
Last modified: 2009-02-26 17:14:15 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.
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."""
Oh, and the reason why vlc and mplayer don't 'screw up' is because... they ignore that field :)
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.
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 ***