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

Sasi Inguva isasi at google.com
Fri Jan 20 03:25:50 EET 2017


The mov_fix_index is executed inside mov_read_trak . Normally 'moof' atom
is after the 'trak' atom in mp4f file. So the method of looking whether
moof atom exists won't work.

On Thu, Jan 19, 2017 at 2:18 PM, Matthieu Bouron <matthieu.bouron at gmail.com>
wrote:

> 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.
>
> [...]
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list