vlc | branch: master | Francois Cartegnie <[email protected]> | Sat May 23 16:59:38 2015 +0200| [f48876f3de8a7bb72c2516949f73e875452b3f95] | committer: Francois Cartegnie
demux: adaptative: add segment comparison > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f48876f3de8a7bb72c2516949f73e875452b3f95 --- modules/demux/adaptative/playlist/Segment.cpp | 20 ++++++++++++++++++++ modules/demux/adaptative/playlist/Segment.h | 1 + 2 files changed, 21 insertions(+) diff --git a/modules/demux/adaptative/playlist/Segment.cpp b/modules/demux/adaptative/playlist/Segment.cpp index b47aacb..a1879ab 100644 --- a/modules/demux/adaptative/playlist/Segment.cpp +++ b/modules/demux/adaptative/playlist/Segment.cpp @@ -112,6 +112,26 @@ bool ISegment::contains(size_t byte) const (!endByte || byte <= endByte) ); } +int ISegment::compare(ISegment *other) const +{ + if(startTime.Get() != VLC_TS_INVALID) + { + int64_t diff = startTime.Get() - other->startTime.Get(); + if(diff) + return diff / diff; + } + + size_t diff = startByte - other->startByte; + if(diff) + return diff / diff; + + diff = endByte - other->endByte; + if(diff) + return diff / diff; + + return 0; +} + int ISegment::getClassId() const { return classId; diff --git a/modules/demux/adaptative/playlist/Segment.h b/modules/demux/adaptative/playlist/Segment.h index 44b4970..7b22214 100644 --- a/modules/demux/adaptative/playlist/Segment.h +++ b/modules/demux/adaptative/playlist/Segment.h @@ -58,6 +58,7 @@ namespace adaptative virtual void addSubSegment (SubSegment *) = 0; virtual void debug (vlc_object_t *,int = 0) const; virtual bool contains (size_t byte) const; + virtual int compare (ISegment *) const; int getClassId () const; Property<mtime_t> startTime; Property<mtime_t> duration; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
