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