diff options
author | Edward Hervey <edward.hervey@collabora.co.uk> | 2011-01-11 17:09:02 +0100 |
---|---|---|
committer | Edward Hervey <edward.hervey@collabora.co.uk> | 2011-01-11 17:51:31 +0100 |
commit | 6eb48af87c31ce3243d305aaf739d8442113c5eb (patch) | |
tree | 06f16c29871d021bdf064f7c092a293859972261 | |
parent | 03b6ad7e8f9afa1bd2b9b2e9aa58a6bb9c78921f (diff) |
asfdemux: Handle new type of DRM'd asf files.
These are produced by the new MS PlayReady system.
https://bugzilla.gnome.org/show_bug.cgi?id=639226
-rw-r--r-- | gst/asfdemux/asfheaders.c | 7 | ||||
-rw-r--r-- | gst/asfdemux/asfheaders.h | 3 | ||||
-rw-r--r-- | gst/asfdemux/gstasfdemux.c | 1 |
3 files changed, 10 insertions, 1 deletions
diff --git a/gst/asfdemux/asfheaders.c b/gst/asfdemux/asfheaders.c index fdbf3d00..ae076391 100644 --- a/gst/asfdemux/asfheaders.c +++ b/gst/asfdemux/asfheaders.c @@ -151,6 +151,13 @@ const ASFGuidHash asf_object_guids[] = { {ASF_OBJ_MARKER, "ASF_OBJ_MARKER", {0xf487cd01, 0x11cfa951, 0xc000e68e, 0x6553200c} }, + /* This guid is definitely used for encryption (mentioned in MS smooth + * streaming docs) in new PlayReady (c) (tm) (wtf) system, but I haven't + * found a proper name for it. + * (Edward Jan 11 2011).*/ + {ASF_OBJ_UNKNOWN_ENCRYPTION_OBJECT, "ASF_OBJ_UNKNOWN_ENCRYPTION_OBJECT", + {0x9a04f079, 0x42869840, 0x5be692ab, 0x955f88e0} + }, {ASF_OBJ_UNDEFINED, "ASF_OBJ_UNDEFINED", {0, 0, 0, 0} } diff --git a/gst/asfdemux/asfheaders.h b/gst/asfdemux/asfheaders.h index ff43fa6f..db1101a5 100644 --- a/gst/asfdemux/asfheaders.h +++ b/gst/asfdemux/asfheaders.h @@ -67,7 +67,8 @@ typedef enum { ASF_OBJ_EXT_CONTENT_ENCRYPTION, ASF_OBJ_DIGITAL_SIGNATURE_OBJECT, ASF_OBJ_SCRIPT_COMMAND, - ASF_OBJ_MARKER + ASF_OBJ_MARKER, + ASF_OBJ_UNKNOWN_ENCRYPTION_OBJECT } AsfObjectID; typedef enum { diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c index 88bff47b..3d32e0a3 100644 --- a/gst/asfdemux/gstasfdemux.c +++ b/gst/asfdemux/gstasfdemux.c @@ -3653,6 +3653,7 @@ gst_asf_demux_process_object (GstASFDemux * demux, guint8 ** p_data, case ASF_OBJ_CONTENT_ENCRYPTION: case ASF_OBJ_EXT_CONTENT_ENCRYPTION: case ASF_OBJ_DIGITAL_SIGNATURE_OBJECT: + case ASF_OBJ_UNKNOWN_ENCRYPTION_OBJECT: goto error_encrypted; case ASF_OBJ_CONCEAL_NONE: case ASF_OBJ_HEAD2: |