From 86c12c73571c91e64dc18057403cefe27770487d Mon Sep 17 00:00:00 2001 From: Florin Apostol Date: Wed, 22 Jul 2015 11:42:23 +0100 Subject: [PATCH] dashdemux: tests: update unit test for baseURL Update the unit test for baseURL to test that it is properly resolved taking into account parent baseURL elements. https://bugzilla.gnome.org/show_bug.cgi?id=752776 --- tests/check/elements/dash_mpd.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tests/check/elements/dash_mpd.c b/tests/check/elements/dash_mpd.c index d036994a02..dc3dd54550 100644 --- a/tests/check/elements/dash_mpd.c +++ b/tests/check/elements/dash_mpd.c @@ -2937,10 +2937,13 @@ GST_START_TEST (dash_mpdparser_get_baseURL) "" "" - " http://example.com/" + " mpd_base_url/" " " + " /period_base_url/" " " + " adaptation_base_url" " " + " representation_base_url" " "; gboolean ret; @@ -2968,9 +2971,23 @@ GST_START_TEST (dash_mpdparser_get_baseURL) activeStreams = gst_mpdparser_get_nb_active_stream (mpdclient); assert_equals_int (activeStreams, adaptationSetsCount); + /* test baseURL. Its value should be computed like this: + * - start with xml url (null) + * - set it to the value from MPD's BaseURL element: "mpd_base_url/" + * - update the value with BaseURL element from Period. Because Period's + * baseURL is absolute (starts with /) it will overwrite the current value + * for baseURL. So, baseURL becomes "/period_base_url/" + * - update the value with BaseURL element from AdaptationSet. Because this + * is a relative url, it will update the current value. baseURL becomes + * "/period_base_url/adaptation_base_url" + * - update the value with BaseURL element from Representation. Because this + * is a relative url, it will update the current value. Because the current + * value does not end in /, everything after the last / will be overwritten. + * baseURL becomes "/period_base_url/representation_base_url" + */ baseURL = gst_mpdparser_get_baseURL (mpdclient, 0); fail_if (baseURL == NULL); - assert_equals_string (baseURL, "http://example.com/"); + assert_equals_string (baseURL, "/period_base_url/representation_base_url"); gst_mpd_client_free (mpdclient); }