diff options
author | Luca Muscariello <lumuscar+fdio@cisco.com> | 2017-06-23 14:51:19 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@fd.io> | 2017-06-23 14:51:19 +0000 |
commit | ea99c36cadfab26fe4bf523931f87132c01a54a2 (patch) | |
tree | 13fc8ff2f6072add96f987a1a68a15c22d68d911 /MPD/SegmentListStream.cpp | |
parent | e207b82a2b7e70e2700cf1c4237a2e819c655809 (diff) | |
parent | a644414fd2c3a3f7f41e716b6875a78981e4cfe1 (diff) |
Merge "adding mpd live handling + automatic mpd fetching" into viper/master
Diffstat (limited to 'MPD/SegmentListStream.cpp')
-rw-r--r-- | MPD/SegmentListStream.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/MPD/SegmentListStream.cpp b/MPD/SegmentListStream.cpp index 3a475e71..c3530086 100644 --- a/MPD/SegmentListStream.cpp +++ b/MPD/SegmentListStream.cpp @@ -14,10 +14,19 @@ using namespace dash::mpd; using namespace libdash::framework::mpd; -SegmentListStream::SegmentListStream(IMPD *mpd, IPeriod *period, IAdaptationSet *adaptationSet, IRepresentation *representation) : - AbstractRepresentationStream (mpd, period, adaptationSet, representation) +SegmentListStream::SegmentListStream(viper::managers::StreamType type, MPDWrapper *mpdWrapper, dash::mpd::IPeriod *period, dash::mpd::IAdaptationSet *adaptationSet, dash::mpd::IRepresentation *representation) : + AbstractRepresentationStream (type, mpdWrapper, period, adaptationSet, representation) { - this->baseUrls = BaseUrlResolver::resolveBaseUrl(mpd, period, adaptationSet, 0, 0, 0); + this->baseUrls = BaseUrlResolver::resolveBaseUrl(type, mpdWrapper, 0, 0, 0); +// this->baseUrls = mpdWrapper->resolveBaseUrl(type, mpdWrapper, 0, 0, 0); + this->segmentList = findSegmentList(); +} + +SegmentListStream::SegmentListStream(viper::managers::StreamType type, MPDWrapper *mpdWrapper, dash::mpd::IPeriod *period, dash::mpd::IAdaptationSet *adaptationSet, dash::mpd::IRepresentation *representation, dash::mpd::IMPD* mpd) : + AbstractRepresentationStream (type, mpdWrapper, period, adaptationSet, representation) +{ + this->baseUrls = BaseUrlResolver::resolveBaseUrl(type, mpdWrapper, 0, 0, 0, mpd); +// this->baseUrls = mpdWrapper->resolveBaseUrl(type, mpdWrapper, 0, 0, 0); this->segmentList = findSegmentList(); } @@ -28,16 +37,19 @@ SegmentListStream::~SegmentListStream() ISegment* SegmentListStream::getInitializationSegment() { if (this->segmentList->GetInitialization()) + { return this->segmentList->GetInitialization()->ToSegment(this->baseUrls); - + } return NULL; } ISegment* SegmentListStream::getIndexSegment(size_t segmentNumber) { if (this->segmentList->GetSegmentURLs().size() > segmentNumber) + { + this->mpdWrapper->releaseLock(); return this->segmentList->GetSegmentURLs().at(segmentNumber)->ToIndexSegment(this->baseUrls); - + } return NULL; } |