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
This commit is contained in:
Edward Hervey 2011-01-11 17:09:02 +01:00
parent 03b6ad7e8f
commit 6eb48af87c
3 changed files with 10 additions and 1 deletions

View file

@ -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}
}

View file

@ -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 {

View file

@ -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: