示例#1
0
        private void UpdateBaseUrl()
        {
            //This does not support all scenarios for the BaseUrl element.
            //It will find the first BaseUrl
            //Element in either the MPD element or the Period Element, top down
            //and append it to the base url of the manifest.
            var mpdBaseUrlElement = document.SelectNodes("*").Where(x => x.NodeName == "BaseURL");

            if (mpdBaseUrlElement.Count() != 0)
            {
                string baseUrlText = mpdBaseUrlElement.First().InnerText;
                if (baseUrlText.ToLower().StartsWith("http") || baseUrlText.ToLower().StartsWith("https"))
                {
                    manifest.BaseUrl = baseUrlText;
                }
                else
                {
                    manifest.AppendToBaseUrl(mpdBaseUrlElement.First().InnerText);
                }
                return;
            }
            var periodBaseUrlElement = document.SelectNodes("*").Where(x => x.NodeName == "BaseURL");

            if (periodBaseUrlElement.Count() != 0)
            {
                string baseUrlText = periodBaseUrlElement.First().InnerText;
                if (baseUrlText.ToLower().StartsWith("http") || baseUrlText.ToLower().StartsWith("https"))
                {
                    manifest.BaseUrl = baseUrlText;
                }
                else
                {
                    manifest.AppendToBaseUrl(periodBaseUrlElement.First().InnerText);
                }
                return;
            }
        }