vlc | branch: master | Francois Cartegnie <fcvlc...@free.fr> | Wed Jan 6 16:11:16 2021 +0100| [cdf4d24370b8edb0d4975cab73cab6f8cd5c1d70] | committer: Francois Cartegnie
demux: adaptive: replace now single segment vector in template > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=cdf4d24370b8edb0d4975cab73cab6f8cd5c1d70 --- modules/demux/adaptive/playlist/SegmentTemplate.cpp | 13 +++++++------ modules/demux/adaptive/playlist/SegmentTemplate.h | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/demux/adaptive/playlist/SegmentTemplate.cpp b/modules/demux/adaptive/playlist/SegmentTemplate.cpp index d34cb018de..64907ff248 100644 --- a/modules/demux/adaptive/playlist/SegmentTemplate.cpp +++ b/modules/demux/adaptive/playlist/SegmentTemplate.cpp @@ -55,17 +55,17 @@ SegmentTemplate::SegmentTemplate( SegmentInformation *parent ) : { initialisationSegment.Set( nullptr ); parentSegmentInformation = parent; - segments.push_back( new SegmentTemplateSegment( this, parent ) ); + virtualsegment = new SegmentTemplateSegment( this, parent ); } SegmentTemplate::~SegmentTemplate() { - delete *segments.begin(); + delete virtualsegment; } void SegmentTemplate::setSourceUrl( const std::string &url ) { - (*segments.begin())->setSourceUrl(url); + virtualsegment->setSourceUrl(url); } void SegmentTemplate::pruneByPlaybackTime(vlc_tick_t time) @@ -111,7 +111,8 @@ uint64_t SegmentTemplate::getLiveTemplateNumber(vlc_tick_t playbacktime, bool ab void SegmentTemplate::debug(vlc_object_t *obj, int indent) const { AbstractSegmentBaseType::debug(obj, indent); - (*segments.begin())->debug(obj, indent); + if(virtualsegment) + virtualsegment->debug(obj, indent); const AbstractAttr *p = getAttribute(Type::Timeline); if(p) static_cast<const SegmentTimeline *> (p)->debug(obj, indent + 1); @@ -138,7 +139,7 @@ Segment * SegmentTemplate::getMediaSegment(uint64_t number) const { const SegmentTimeline *tl = inheritSegmentTimeline(); if(tl == nullptr || tl->maxElementNumber() > number) - return *segments.begin(); + return virtualsegment; return nullptr; } @@ -186,7 +187,7 @@ Segment * SegmentTemplate::getNextMediaSegment(uint64_t i_pos,uint64_t *pi_newp /* start number */ *pi_newpos = std::max(inheritStartNumber(), i_pos); } - return *segments.begin(); + return virtualsegment; } uint64_t SegmentTemplate::getStartSegmentNumber() const diff --git a/modules/demux/adaptive/playlist/SegmentTemplate.h b/modules/demux/adaptive/playlist/SegmentTemplate.h index 71ba54ef72..e55ead23b7 100644 --- a/modules/demux/adaptive/playlist/SegmentTemplate.h +++ b/modules/demux/adaptive/playlist/SegmentTemplate.h @@ -71,7 +71,7 @@ namespace adaptive protected: SegmentInformation *parentSegmentInformation; - std::vector<SegmentTemplateSegment *> segments; /* should have only 1 */ + SegmentTemplateSegment *virtualsegment; }; class SegmentTemplateInit : public InitSegment _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits