Fixed real-time playback of VoD streams that do not start at a zero timestamp
This commit is contained in:
parent
5c5ab6c058
commit
c78cbc22ea
1 changed files with 2 additions and 2 deletions
|
@ -455,7 +455,6 @@ namespace Mist {
|
||||||
/// Prepares all tracks from selectedTracks for seeking to the specified ms position.
|
/// Prepares all tracks from selectedTracks for seeking to the specified ms position.
|
||||||
void Output::seek(unsigned long long pos){
|
void Output::seek(unsigned long long pos){
|
||||||
sought = true;
|
sought = true;
|
||||||
firstTime = Util::getMS() - pos;
|
|
||||||
if (!isInitialized){
|
if (!isInitialized){
|
||||||
initialize();
|
initialize();
|
||||||
}
|
}
|
||||||
|
@ -471,6 +470,7 @@ namespace Mist {
|
||||||
seek(*it, pos);
|
seek(*it, pos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
firstTime = Util::getMS() - buffer.begin()->time;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Output::seek(unsigned int tid, unsigned long long pos, bool getNextKey){
|
bool Output::seek(unsigned int tid, unsigned long long pos, bool getNextKey){
|
||||||
|
@ -603,7 +603,7 @@ namespace Mist {
|
||||||
|
|
||||||
//slow down processing, if real time speed is wanted
|
//slow down processing, if real time speed is wanted
|
||||||
if (realTime){
|
if (realTime){
|
||||||
while (thisPacket.getTime() > (((Util::getMS() - firstTime)*1000)+maxSkipAhead)/realTime) {
|
while (thisPacket.getTime() > (((Util::getMS() - firstTime)*1000)+maxSkipAhead)/realTime && config->is_active && myConn) {
|
||||||
Util::sleep(std::min(thisPacket.getTime() - (((Util::getMS() - firstTime)*1000)+minSkipAhead)/realTime, 1000llu));
|
Util::sleep(std::min(thisPacket.getTime() - (((Util::getMS() - firstTime)*1000)+minSkipAhead)/realTime, 1000llu));
|
||||||
stats();
|
stats();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue