isomp4: Safely ignore [skip] atoms
authorEdward Hervey <edward@centricular.com>
Sat, 13 May 2017 07:05:57 +0000 (09:05 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Thu, 18 May 2017 16:12:15 +0000 (18:12 +0200)
Instead of warning about them

gst/isomp4/fourcc.h
gst/isomp4/qtdemux.c
gst/isomp4/qtdemux_types.c

index 51a65e9..d302c97 100644 (file)
@@ -204,6 +204,7 @@ G_BEGIN_DECLS
 #define FOURCC_sbtl     GST_MAKE_FOURCC('s','b','t','l')
 #define FOURCC_sdp_     GST_MAKE_FOURCC('s','d','p',' ')
 #define FOURCC_sidx     GST_MAKE_FOURCC('s','i','d','x')
+#define FOURCC_skip     GST_MAKE_FOURCC('s','k','i','p')
 #define FOURCC_smhd     GST_MAKE_FOURCC('s','m','h','d')
 #define FOURCC_soaa     GST_MAKE_FOURCC('s','o','a','a')
 #define FOURCC_soal     GST_MAKE_FOURCC('s','o','a','l')
index 87fed9b..255b0f4 100644 (file)
@@ -4301,6 +4301,7 @@ gst_qtdemux_loop_state_header (GstQTDemux * qtdemux)
       break;
     case FOURCC_mdat:
     case FOURCC_free:
+    case FOURCC_skip:
     case FOURCC_wide:
     case FOURCC_PICT:
     case FOURCC_pnot:
@@ -6693,8 +6694,9 @@ gst_qtdemux_process_adapter (GstQTDemux * demux, gboolean force)
             case FOURCC_styp:
               /* [styp] is like a [ftyp], but in fragment header. We ignore it for now
                * FALLTHROUGH */
+            case FOURCC_skip:
             case FOURCC_free:
-              /* [free] is a padding atom */
+              /* [free] and [skip] are padding atoms */
               GST_DEBUG_OBJECT (demux,
                   "Skipping fourcc while parsing header : %" GST_FOURCC_FORMAT,
                   GST_FOURCC_ARGS (fourcc));
index d6cdf81..850129d 100644 (file)
@@ -146,6 +146,7 @@ static const QtNodeType qt_node_types[] = {
   {FOURCC_____, "----", QT_FLAG_CONTAINER,},
   {FOURCC_data, "data", 0, qtdemux_dump_unknown},
   {FOURCC_free, "free", 0,},
+  {FOURCC_skip, "skip", 0,},
   {FOURCC_SVQ3, "SVQ3", 0,},
   {FOURCC_rmra, "rmra", QT_FLAG_CONTAINER,},
   {FOURCC_rmda, "rmda", QT_FLAG_CONTAINER,},