Do not fail if 'uuid' atom is encountered before 'moov'.
[ffmpeg.git] / tools / qt-faststart.c
index b1af21c80a604c58633c1b3d6a50bc84f43c9f38..ff86e56e20463d0bb8b28c5dc3ba2ec0ac7f0e82 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * qt-faststart.c, v0.1
+ * qt-faststart.c, v0.2
  * by Mike Melanson (melanson@pcisys.net)
  * This file is placed in the public domain. Use the program however you
  * see fit.
@@ -64,6 +64,7 @@
 #define WIDE_ATOM QT_ATOM('w', 'i', 'd', 'e')
 #define PICT_ATOM QT_ATOM('P', 'I', 'C', 'T')
 #define FTYP_ATOM QT_ATOM('f', 't', 'y', 'p')
+#define UUID_ATOM QT_ATOM('u', 'u', 'i', 'd')
 
 #define CMOV_ATOM QT_ATOM('c', 'm', 'o', 'v')
 #define STCO_ATOM QT_ATOM('s', 't', 'c', 'o')
@@ -119,6 +120,7 @@ int main(int argc, char *argv[])
             (atom_type != SKIP_ATOM) &&
             (atom_type != WIDE_ATOM) &&
             (atom_type != PICT_ATOM) &&
+            (atom_type != UUID_ATOM) &&
             (atom_type != FTYP_ATOM)) {
             printf ("encountered non-QT top-level atom (is this a Quicktime file?)\n");
             break;
@@ -129,7 +131,7 @@ int main(int argc, char *argv[])
             ftyp_atom_size = atom_size;
             ftyp_atom = malloc(ftyp_atom_size);
             if (!ftyp_atom) {
-                printf ("could not allocate 0x%"PRId64" byte for ftyp atom\n",
+                printf ("could not allocate %"PRIu64" byte for ftyp atom\n",
                         atom_size);
                 fclose(infile);
                 return 1;
@@ -170,7 +172,7 @@ int main(int argc, char *argv[])
     moov_atom_size = atom_size;
     moov_atom = malloc(moov_atom_size);
     if (!moov_atom) {
-        printf ("could not allocate 0x%"PRId64" byte for moov atom\n",
+        printf ("could not allocate %"PRIu64" byte for moov atom\n",
             atom_size);
         fclose(infile);
         return 1;