mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 09:10:36 +00:00
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
This commit is contained in:
parent
2df67f9da0
commit
86c12c7357
1 changed files with 19 additions and 2 deletions
|
@ -2937,10 +2937,13 @@ GST_START_TEST (dash_mpdparser_get_baseURL)
|
|||
"<?xml version=\"1.0\"?>"
|
||||
"<MPD xmlns=\"urn:mpeg:dash:schema:mpd:2011\""
|
||||
" profiles=\"urn:mpeg:dash:profile:isoff-main:2011\">"
|
||||
" <BaseURL>http://example.com/</BaseURL>"
|
||||
" <BaseURL>mpd_base_url/</BaseURL>"
|
||||
" <Period id=\"Period0\" duration=\"P0Y0M1DT1H1M1S\">"
|
||||
" <BaseURL> /period_base_url/</BaseURL>"
|
||||
" <AdaptationSet id=\"1\" mimeType=\"audio\" lang=\"en\">"
|
||||
" <BaseURL>adaptation_base_url</BaseURL>"
|
||||
" <Representation>"
|
||||
" <BaseURL>representation_base_url</BaseURL>"
|
||||
" </Representation></AdaptationSet></Period></MPD>";
|
||||
|
||||
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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue