qtdemux: recognize some more encypted track cases
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Wed, 23 Sep 2009 15:20:25 +0000 (17:20 +0200)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Fri, 9 Oct 2009 15:49:02 +0000 (17:49 +0200)
gst/qtdemux/qtdemux.c
gst/qtdemux/qtdemux_fourcc.h

index 5da26ef..105a1fa 100644 (file)
@@ -4296,7 +4296,8 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
     GST_LOG_OBJECT (qtdemux, "frame count:   %u",
         QT_UINT16 (stsd_data + offset + 48));
 
-    if (fourcc == FOURCC_drms)
+    if ((fourcc == FOURCC_drms) || (fourcc == FOURCC_drmi) ||
+        ((fourcc & 0xFFFFFF00) == GST_MAKE_FOURCC ('e', 'n', 'c', 0)))
       goto error_encrypted;
 
     stream->caps =
@@ -4633,7 +4634,8 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
       GST_WARNING_OBJECT (qtdemux, "unknown version %08x", version);
     }
 
-    if (fourcc == FOURCC_drms)
+    if ((fourcc == FOURCC_drms) || (fourcc == FOURCC_drmi) ||
+        ((fourcc & 0xFFFFFF00) == GST_MAKE_FOURCC ('e', 'n', 'c', 0)))
       goto error_encrypted;
 
     stream->caps = qtdemux_audio_caps (qtdemux, stream, fourcc, NULL, 0,
index cb07abe..edf5042 100644 (file)
@@ -115,6 +115,7 @@ G_BEGIN_DECLS
 #define FOURCC_rmvc     GST_MAKE_FOURCC('r','m','v','c')
 #define FOURCC_qtim     GST_MAKE_FOURCC('q','t','i','m')
 #define FOURCC_drms     GST_MAKE_FOURCC('d','r','m','s')
+#define FOURCC_drmi     GST_MAKE_FOURCC('d','r','m','i')
 #define FOURCC_avc1     GST_MAKE_FOURCC('a','v','c','1')
 #define FOURCC_avcC     GST_MAKE_FOURCC('a','v','c','C')
 #define FOURCC_VP31     GST_MAKE_FOURCC('V','P','3','1')