summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPhilippe Normand <philn@igalia.com>2016-11-04 09:56:33 +0100
committerSebastian Dröge <sebastian@centricular.com>2016-11-04 17:04:59 +0200
commitdd0c56b4a2a506bdb2168441c18b791bc1369fb1 (patch)
tree096fbbb13f1d6b1e6e9ff56a18a96c83a3b6252b /tests
parent4899bf09268d8af6f426e5e82baf13eef30dca64 (diff)
mpdparser: MS PlayReady ContentProtection parsing
The "pro" (PlayReady Object) element contents are now base64-decoded and properly stored in Protection events. https://bugzilla.gnome.org/show_bug.cgi?id=773936
Diffstat (limited to 'tests')
-rw-r--r--tests/check/elements/dash_demux.c9
-rw-r--r--tests/check/elements/dash_mpd.c6
2 files changed, 13 insertions, 2 deletions
diff --git a/tests/check/elements/dash_demux.c b/tests/check/elements/dash_demux.c
index 7733044c1..ae89ced09 100644
--- a/tests/check/elements/dash_demux.c
+++ b/tests/check/elements/dash_demux.c
@@ -1380,6 +1380,9 @@ testContentProtectionDashdemuxSendsEvent (GstAdaptiveDemuxTestEngine * engine,
fail_if (str == NULL);
str = strstr (value, "</ContentProtection>");
fail_if (str == NULL);
+ } else if (g_strcmp0 (system_id, "9a04f079-9840-4286-ab92-e65be0885f95") == 0) {
+ fail_unless (g_strcmp0 (origin, "dash/mpd") == 0);
+ fail_unless (g_strcmp0 (value, "test") == 0);
} else {
fail ("unexpected content protection event '%s'", system_id);
}
@@ -1412,6 +1415,7 @@ GST_START_TEST (testContentProtection)
"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
"<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
" xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
+ " xmlns:mspr=\"urn:microsoft:playready\""
" xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
" type=\"static\""
@@ -1444,6 +1448,9 @@ GST_START_TEST (testContentProtection)
" <mas:MarlinContentId>urn:marlin:kid:02020202020202020202020202020202</mas:MarlinContentId>"
" </mas:MarlinContentIds>"
" </ContentProtection>"
+ " <ContentProtection schemeIdUri=\"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95\" value=\"MSPR 2.0\">"
+ " <mspr:pro>dGVzdA==</mspr:pro>"
+ " </ContentProtection>"
" <Representation id=\"242\""
" codecs=\"vp9\""
" width=\"426\""
@@ -1497,7 +1504,7 @@ GST_START_TEST (testContentProtection)
gst_structure_get_uint (testData->countContentProtectionEvents, "video_00",
&event_count);
- fail_unless (event_count == 2);
+ fail_unless (event_count == 3);
g_object_unref (testData);
if (http_src_test_data.data)
diff --git a/tests/check/elements/dash_mpd.c b/tests/check/elements/dash_mpd.c
index 783ecae65..5585f4980 100644
--- a/tests/check/elements/dash_mpd.c
+++ b/tests/check/elements/dash_mpd.c
@@ -1301,6 +1301,7 @@ GST_START_TEST (dash_mpdparser_contentProtection_no_value)
const gchar *xml =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
"<MPD xmlns=\"urn:mpeg:dash:schema:mpd:2011\""
+ " xmlns:mspr=\"urn:microsoft:playready\""
" profiles=\"urn:mpeg:dash:profile:isoff-main:2011\">"
" <Period>"
" <AdaptationSet>"
@@ -1309,6 +1310,9 @@ GST_START_TEST (dash_mpdparser_contentProtection_no_value)
" <mas:MarlinContentIds>"
" <mas:MarlinContentId>urn:marlin:kid:02020202020202020202020202020202</mas:MarlinContentId>"
" </mas:MarlinContentIds>"
+ " </ContentProtection>"
+ " <ContentProtection schemeIdUri=\"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95\" value=\"MSPR 2.0\">"
+ " <mspr:pro>dGVzdA==</mspr:pro>"
" </ContentProtection>" "</AdaptationSet></Period></MPD>";
gboolean ret;
@@ -1321,7 +1325,7 @@ GST_START_TEST (dash_mpdparser_contentProtection_no_value)
periodNode = (GstPeriodNode *) mpdclient->mpd_node->Periods->data;
adaptationSet = (GstAdaptationSetNode *) periodNode->AdaptationSets->data;
representationBase = adaptationSet->RepresentationBase;
- assert_equals_int (g_list_length (representationBase->ContentProtection), 2);
+ assert_equals_int (g_list_length (representationBase->ContentProtection), 3);
contentProtection =
(GstDescriptorType *) g_list_nth (representationBase->ContentProtection,
1)->data;