Module: libav Branch: master Commit: aa96d433e24cde44bf8009c809c6f41308ff8fd4
Author: Martin Storsjö <[email protected]> Committer: Martin Storsjö <[email protected]> Date: Tue Feb 21 12:16:18 2012 +0200 movdec: Don't parse all fragments if ignidx is set In nonseekable files, we already stop parsing the toplevel atoms after finding moov and one mdat. In large seekable files (or files that are seekable, but slowly, e.g. http), reading all the fragments at the start can take a considerable amount of time. This allows opting out from this behaviour. Signed-off-by: Martin Storsjö <[email protected]> --- libavformat/mov.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index a2b2da0..c2f13b6 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -350,8 +350,9 @@ static int mov_read_default(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (err < 0) return err; if (c->found_moov && c->found_mdat && - (!pb->seekable || start_pos + a.size == avio_size(pb))) { - if (!pb->seekable) + ((!pb->seekable || c->fc->flags & AVFMT_FLAG_IGNIDX) || + start_pos + a.size == avio_size(pb))) { + if (!pb->seekable || c->fc->flags & AVFMT_FLAG_IGNIDX) c->next_root_atom = start_pos + a.size; return 0; } _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
