[Bug 607471] [qtdemux] playback of file with 2 stsd entries on 1 trak
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Feb 17 02:53:10 PST 2014
https://bugzilla.gnome.org/show_bug.cgi?id=607471
GStreamer | gst-plugins-good | git
Haithem BEN GHORBAL <haithem.benghorbal> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |haithem.benghorbal at gmail.co
| |m
--- Comment #21 from Haithem BEN GHORBAL <haithem.benghorbal at gmail.com> 2014-02-17 11:13:11 UTC ---
(In reply to comment #14)
> Pushed some patches for the empty edit lists handling in #345830
>
> They need some review and testing is always welcome.
>
>
> As it wasn't already enough, this file has yet another tricky issue:
>
> The two audio traks are complimentary, the smaller ones fills the starting
> 11secs that are empty (by the use of the edit lists) on the longer audio trak.
> This smaller trak is classified by qtdemux as a preview.
>
> Haven't really thought on how we can make this work. It surprises me that we
> haven't found a way (maybe qtff doesn't allow it) to identify what streams are
> previews or what should be played together.
there is a way to check that in Track Header 'tkhd' atom.
following the qtff spec here :
> https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/QTFFChap2/qtff2.html#//apple_ref/doc/uid/TP40000939-CH204-BBCEIDFA
starting from byte 9 :
> Flags
> Three bytes that are reserved for the track header flags. These flags indicate how the track is used in the movie. The following flags are valid (all flags are enabled when set to 1).
> Track enabled
> Indicates that the track is enabled. Flag value is 0x0001.
> Track in movie
> Indicates that the track is used in the movie. Flag value is 0x0002.
> Track in preview
> Indicates that the track is used in the movie’s preview. Flag value is 0x0004.
> Track in poster
> Indicates that the track is used in the movie’s poster. Flag value is 0x0008.
concerning the multiple stsd entries, I don't see where is the problem. If we
store these descriptions in an array of struct with their predefined caps (in
the 'qtdemux_parse_trak' function), and store in the QTDemuxSample struct the
needed index as specified in Sample-to-Chunk atoms, shouldn't this do the trick
?
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list