summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r--libavformat/mov.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index f4151bd879..50a5e789ca 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -228,8 +228,9 @@ static int mov_read_default(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
int err = parse(c, pb, a);
if (err < 0)
return err;
- if (url_is_streamed(pb) && c->found_moov && c->found_mdat)
- break;
+ if (c->found_moov && c->found_mdat &&
+ (url_is_streamed(pb) || start_pos + a.size == url_fsize(pb)))
+ return 0;
left = a.size - url_ftell(pb) + start_pos;
if (left > 0) /* skip garbage at atom end */
url_fskip(pb, left);