changeset 3166:c082ee7573b2 libavformat

simplify, and only stop parsing when non streamable
author bcoudurier
date Fri, 21 Mar 2008 11:04:54 +0000
parents 2e6b97015947
children 125b08d2ad59
files mov.c
diffstat 1 files changed, 1 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/mov.c	Fri Mar 21 11:02:13 2008 +0000
+++ b/mov.c	Fri Mar 21 11:04:54 2008 +0000
@@ -191,7 +191,7 @@
             offset_t start_pos = url_ftell(pb);
             int64_t left;
             err = mov_default_parse_table[i].parse(c, pb, a);
-            if (c->found_moov && c->found_mdat)
+            if (url_is_streamed(pb) && c->found_moov && c->found_mdat)
                 break;
             left = a.size - url_ftell(pb) + start_pos;
             if (left > 0) /* skip garbage at atom end */
@@ -390,9 +390,6 @@
     if(atom.size == 0) /* wrong one (MP4) */
         return 0;
     c->found_mdat=1;
-    if(c->found_moov)
-        return 1; /* found both, just go */
-    url_fskip(pb, atom.size);
     return 0; /* now go for moov */
 }
 
@@ -416,8 +413,6 @@
     /* we parsed the 'moov' atom, we can terminate the parsing as soon as we find the 'mdat' */
     /* so we don't parse the whole file if over a network */
     c->found_moov=1;
-    if(c->found_mdat)
-        return 1; /* found both, just go */
     return 0; /* now go for mdat */
 }