Commit 22d7d975 authored by Francois Cartegnie's avatar Francois Cartegnie

demux: adaptative: add setPosition by segment number

parent b40ef139
...@@ -133,14 +133,21 @@ SegmentChunk * SegmentTracker::getNextChunk(bool switch_allowed) ...@@ -133,14 +133,21 @@ SegmentChunk * SegmentTracker::getNextChunk(bool switch_allowed)
return chunk; return chunk;
} }
bool SegmentTracker::setPosition(mtime_t time, bool restarted, bool tryonly) bool SegmentTracker::setPositionByTime(mtime_t time, bool restarted, bool tryonly)
{ {
uint64_t segnumber; uint64_t segnumber;
if(prevRepresentation && if(prevRepresentation &&
prevRepresentation->getSegmentNumberByTime(time, &segnumber)) prevRepresentation->getSegmentNumberByTime(time, &segnumber))
{ {
if(!tryonly) if(!tryonly)
{ setPositionByNumber(segnumber, restarted);
return true;
}
return false;
}
void SegmentTracker::setPositionByNumber(uint64_t segnumber, bool restarted)
{
if(restarted) if(restarted)
{ {
initializing = true; initializing = true;
...@@ -149,10 +156,6 @@ bool SegmentTracker::setPosition(mtime_t time, bool restarted, bool tryonly) ...@@ -149,10 +156,6 @@ bool SegmentTracker::setPosition(mtime_t time, bool restarted, bool tryonly)
} }
count = segnumber; count = segnumber;
sequence_set = true; sequence_set = true;
}
return true;
}
return false;
} }
mtime_t SegmentTracker::getSegmentStart() const mtime_t SegmentTracker::getSegmentStart() const
......
...@@ -287,7 +287,7 @@ bool Stream::setPosition(mtime_t time, bool tryonly) ...@@ -287,7 +287,7 @@ bool Stream::setPosition(mtime_t time, bool tryonly)
if(!output) if(!output)
return false; return false;
bool ret = segmentTracker->setPosition(time, output->reinitsOnSeek(), tryonly); bool ret = segmentTracker->setPositionByTime(time, output->reinitsOnSeek(), tryonly);
if(!tryonly && ret) if(!tryonly && ret)
{ {
output->setPosition(time); output->setPosition(time);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment