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 595942 - [qtdemux] issue with corrupted 3gp file
[qtdemux] issue with corrupted 3gp file
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.16
Other Linux
: Normal normal
: 0.10.17
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-09-22 11:41 UTC by Benjamin Gaignard
Modified: 2009-09-25 09:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
3gp file with issue (1000.00 KB, video/3gpp)
2009-09-22 11:54 UTC, Benjamin Gaignard
  Details
patch draft (597 bytes, patch)
2009-09-22 16:34 UTC, Benjamin Gaignard
rejected Details | Review

Description Benjamin Gaignard 2009-09-22 11:41:32 UTC
the file is correctly play with Quicktime but doesn't works with gstreamer.
the issue is maybe coming from audio not well supported.
Comment 1 Benjamin Gaignard 2009-09-22 11:54:16 UTC
Created attachment 143687 [details]
3gp file with issue
Comment 2 Benjamin Gaignard 2009-09-22 16:31:15 UTC
it seem that one stts_data give an invalid duration (maybe) due to file corruption:
qtdemux qtdemux.c:3605:qtdemux_parse_samples:<demux> block 3, 1 timestamps, duration 4294917294 

Can we detect this kind of invalid duration and maybe replace it by the min_duration ?
Comment 3 Benjamin Gaignard 2009-09-22 16:34:44 UTC
Created attachment 143713 [details] [review]
patch draft
Comment 4 Benjamin Gaignard 2009-09-25 07:54:50 UTC
I have made the same test with the latest delivery of qtdemux done by Tim-Philipp Müller, the issue still occur and the correction seem to be the same.
I'm not very sure that testing duration > 0xFFFF0000 while not generate regression on other streams.
Comment 5 Wim Taymans 2009-09-25 09:56:39 UTC
commit 03f46a42e59a2729327c51b3ee77abdaf022b38e
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Fri Sep 25 11:54:06 2009 +0200

    qtdemux: add durations modulo 1<<32
    
    For calculating the durations of each sample, we are supposed to add each
    duration modulo 1<<32 so make the elapsed time counter a uint32.
    
    Fixes #595942