[FFmpeg-devel] [PATCH] lavf/mov: ignore edit list with duration equals to 0 for covers art

Matthieu Bouron matthieu.bouron at gmail.com
Fri Jan 20 00:18:25 EET 2017

On Thu, Jan 19, 2017 at 10:33:25AM -0800, Sasi Inguva wrote:
> According to  spec ( ISO-IEC-15444-12 ) specifying edit list duration 0,
> makes sense for MP4F files
> "A non‐empty edit may insert a portion of the media timeline that is not
> present in the initial movie, and
> is present only in subsequent movie fragments. Particularly in an empty
> initial movie of a fragmented
> movie file (when there are no media samples yet present), the
> segment_duration of this edit may be
> zero, whereupon the edit provides the offset from media composition time to
> movie presentation time,
> for the movie and subsequent movie fragments. It is recommended that such
> an edit be used to
> establish a presentation time of 0 for the first presented sample, when
> composition offsets are used"
> I was contacted with such a file previously and I tried playing that  in
> Quicktime in mac to see its behavior.  When I played the video with
> Quicktime 10.4 it showed the poster frame.  When I played it with Quicktime
> 7 , it showed black screen. Even in Quicktime 10.4 when you export the
> video to reencode it, the output file has only audio.
> However your hack seems to be specialized enough, so as not to hurt other
> edit list cases. You just need to check that the file is not Fragmented MP4
> , and need to check for st->nb_index_entries == 1 instead of
> chunk_count==1.

I'm looking for a way to check the fragmented case. Would introducing
MOVContext.found_moof (like for moov) and set it in mov_read_moof OK ?
The other variables from MOVContext.fragment do not look like good
candidates to perform the fragmented check against.


More information about the ffmpeg-devel mailing list