diff options
author | jacko <jsamain+fdio@cisco.com> | 2017-06-23 16:12:18 +0200 |
---|---|---|
committer | jacko <jsamain+fdio@cisco.com> | 2017-06-23 16:12:18 +0200 |
commit | a644414fd2c3a3f7f41e716b6875a78981e4cfe1 (patch) | |
tree | 13fc8ff2f6072add96f987a1a68a15c22d68d911 /MPD/SegmentListStream.cpp | |
parent | f8907f0a7a84928800adbbfd8e66e500794aa5d5 (diff) |
adding mpd live handling + automatic mpd fetching
Change-Id: I2c05bdf6a4d940ad22bb8632268f4b63a08a80a8
Signed-off-by: jacko <jsamain+fdio@cisco.com>
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; } |