summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2009-09-23 17:20:25 +0200
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2009-10-09 17:49:02 +0200
commit533106203c9d687d5dfc21eb70680fb1da1239c6 (patch)
tree809c99e65ed9ddfc3be437f41605a411b39bc09a
parent114dbba7ad9d8977cb3e0a100c7772963a363386 (diff)
qtdemux: recognize some more encypted track cases
-rw-r--r--gst/qtdemux/qtdemux.c6
-rw-r--r--gst/qtdemux/qtdemux_fourcc.h1
2 files changed, 5 insertions, 2 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 5da26ef1..105a1fa2 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -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,
diff --git a/gst/qtdemux/qtdemux_fourcc.h b/gst/qtdemux/qtdemux_fourcc.h
index cb07abe0..edf50425 100644
--- a/gst/qtdemux/qtdemux_fourcc.h
+++ b/gst/qtdemux/qtdemux_fourcc.h
@@ -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')