36 lines
1.3 KiB
Diff
Executable File
36 lines
1.3 KiB
Diff
Executable File
diff --git a/ext/smoothstreaming/gstmssdemux.c b/ext/smoothstreaming/gstmssdemux.c
|
|
index 85f0ec8..55304ed 100644
|
|
--- a/ext/smoothstreaming/gstmssdemux.c
|
|
+++ b/ext/smoothstreaming/gstmssdemux.c
|
|
@@ -385,6 +385,7 @@ _create_pad (GstMssDemux * mssdemux, GstMssStream * manifeststream)
|
|
return srcpad;
|
|
}
|
|
|
|
+#define PLAYREADY_SYSTEM_ID "9A04F079-9840-4286-AB92-E65BE0885F95"
|
|
static void
|
|
gst_mss_demux_apply_protection_system (GstCaps * caps,
|
|
const gchar * selected_system)
|
|
@@ -392,13 +393,16 @@ gst_mss_demux_apply_protection_system (GstCaps * caps,
|
|
GstStructure *s;
|
|
|
|
g_return_if_fail (selected_system);
|
|
- s = gst_caps_get_structure (caps, 0);
|
|
- gst_structure_set (s,
|
|
- "original-media-type", G_TYPE_STRING, gst_structure_get_name (s),
|
|
- GST_PROTECTION_SYSTEM_ID_CAPS_FIELD, G_TYPE_STRING, selected_system,
|
|
- NULL);
|
|
- gst_structure_set_name (s, "application/x-cenc");
|
|
|
|
+ /* if playready is encrypted, application/x-cenc is not set */
|
|
+ if (g_ascii_strcasecmp (selected_system, PLAYREADY_SYSTEM_ID) != 0) {
|
|
+ s = gst_caps_get_structure (caps, 0);
|
|
+ gst_structure_set (s,
|
|
+ "original-media-type", G_TYPE_STRING, gst_structure_get_name (s),
|
|
+ GST_PROTECTION_SYSTEM_ID_CAPS_FIELD, G_TYPE_STRING, selected_system,
|
|
+ NULL);
|
|
+ gst_structure_set_name (s, "application/x-cenc");
|
|
+ }
|
|
}
|
|
|
|
static gboolean
|