<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Log Message:<div class=""> <i class=""><b class="">[PATCH] added baseUrl to segment templates link to</b></i><i class=""><b class=""> test:http://<a href="http://dash.edgesuite.net/dash264/TestCases/5b/1/manifest.mpd" class="">dash.edgesuite.net/dash264/TestCases/5b/1/manifest.mpd</a></b></i></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><div class="">From 77462339e0c22cd4c34165c20891cebcc2b4e8c6 Mon Sep 17 00:00:00 2001</div><div class="">From: Alex Dmukh <<a href="mailto:alexdmukh@gmail.com" class="">alexdmukh@gmail.com</a>></div><div class="">Date: Tue, 3 Feb 2015 12:27:41 +0200</div><div class="">Subject: [PATCH] [PATCH] added baseUrl to segment templates(edited) Link to</div><div class=""> test: <a href="http://dash.edgesuite.net/dash264/TestCases/5b/1/manifest.mpd" class="">http://dash.edgesuite.net/dash264/TestCases/5b/1/manifest.mpd</a></div><div class=""><br class=""></div><div class="">---</div><div class=""> modules/demux/dash/mpd/IsoffMainParser.cpp |  8 ++++++++</div><div class=""> modules/demux/dash/mpd/Period.cpp          | 15 +++++++++++++--</div><div class=""> modules/demux/dash/mpd/Period.h            |  2 +-</div><div class=""> 3 files changed, 22 insertions(+), 3 deletions(-)</div><div class=""><br class=""></div><div class="">diff --git a/modules/demux/dash/mpd/IsoffMainParser.cpp b/modules/demux/dash/mpd/IsoffMainParser.cpp</div><div class="">index 2e7a45c..0792304 100644</div><div class="">--- a/modules/demux/dash/mpd/IsoffMainParser.cpp</div><div class="">+++ b/modules/demux/dash/mpd/IsoffMainParser.cpp</div><div class="">@@ -104,6 +104,14 @@ void IsoffMainParser::parsePeriods(Node *root)</div><div class="">         Period *period = new (std::nothrow) Period(mpd);</div><div class="">         if (!period)</div><div class="">             continue;</div><div class="">+</div><div class="">+        if((*it)->hasAttribute("duration"))</div><div class="">+            period->duration.Set(IsoTime((*it)->getAttributeValue("duration")));</div><div class="">+</div><div class="">+        Node* baseURLNode = DOMHelper::getFirstChildElementByName(*it, "BaseURL");</div><div class="">+        if(baseURLNode)</div><div class="">+            period->baseUrl = BaseUrl(baseURLNode->getText());</div><div class="">+</div><div class="">         parseSegmentInformation(*it, period);</div><div class="">         if((*it)->hasAttribute("start"))</div><div class="">             period->startTime.Set(IsoTime((*it)->getAttributeValue("start")));</div><div class="">diff --git a/modules/demux/dash/mpd/Period.cpp b/modules/demux/dash/mpd/Period.cpp</div><div class="">index 904107b..6a5e24b 100644</div><div class="">--- a/modules/demux/dash/mpd/Period.cpp</div><div class="">+++ b/modules/demux/dash/mpd/Period.cpp</div><div class="">@@ -35,7 +35,8 @@</div><div class=""> using namespace dash::mpd;</div><div class=""> </div><div class=""> Period::Period(MPD *mpd) :</div><div class="">-    SegmentInformation( mpd )</div><div class="">+    SegmentInformation( mpd ),</div><div class="">+    baseUrl( "" )</div><div class=""> {</div><div class="">     duration.Set(0);</div><div class="">     startTime.Set(0);</div><div class="">@@ -86,7 +87,10 @@ AdaptationSet * Period::getAdaptationSet(Streams::Type type) const</div><div class=""> </div><div class=""> Url Period::getUrlSegment() const</div><div class=""> {</div><div class="">-    return getParentUrlSegment();</div><div class="">+    if(baseUrl.getUrl().length() > 0)</div><div class="">+        return Url( baseUrl.getUrl() );</div><div class="">+    else</div><div class="">+        return getParentUrlSegment();</div><div class=""> }</div><div class=""> </div><div class=""> std::vector<std::string> Period::toString(int indent) const</div><div class="">@@ -94,6 +98,13 @@ std::vector<std::string> Period::toString(int indent) const</div><div class="">     std::vector<std::string> ret;</div><div class="">     std::string text(indent, ' ');</div><div class="">     text.append("Period");</div><div class="">+</div><div class="">+    std::ostringstream ss;</div><div class="">+    ss << " - Duration:" << duration.Get();</div><div class="">+    ss << ", StartTime:" << startTime.Get();</div><div class="">+    ss << ", baseURL=" << baseUrl.getUrl();</div><div class="">+    text.append(ss.str());</div><div class="">+</div><div class="">     ret.push_back(text);</div><div class="">     std::vector<AdaptationSet *>::const_iterator k;</div><div class="">     for(k = adaptationSets.begin(); k != adaptationSets.end(); k++)</div><div class="">diff --git a/modules/demux/dash/mpd/Period.h b/modules/demux/dash/mpd/Period.h</div><div class="">index 06304dd..0c0867d 100644</div><div class="">--- a/modules/demux/dash/mpd/Period.h</div><div class="">+++ b/modules/demux/dash/mpd/Period.h</div><div class="">@@ -57,7 +57,7 @@ namespace dash</div><div class=""> </div><div class="">                 Property<mtime_t> duration;</div><div class="">                 Property<mtime_t> startTime;</div><div class="">-</div><div class="">+                BaseUrl            baseUrl;</div><div class="">             private:</div><div class="">                 std::vector<AdaptationSet *>    adaptationSets;</div><div class="">         };</div><div class="">-- </div><div class="">2.2.1</div><div class=""><br class=""></div></div></body></html>