Fix DTSC pull output key mismatch errors, fix not starting at keyframes

This commit is contained in:
Thulinma 2022-11-03 13:16:57 +01:00
parent f3803aeceb
commit 320ed53212
2 changed files with 9 additions and 4 deletions

View file

@ -466,7 +466,11 @@ namespace Mist{
if (seekTargets.count(*it)){
seek(*it, seekTargets[*it], false);
}else{
seek(*it, seekTargets.begin()->second, false);
if (buffer.getSyncMode()){
seek(*it, seekTargets.begin()->second, false);
}else{
seek(*it, 0, false);
}
}
}
}

View file

@ -126,6 +126,10 @@ namespace Mist{
std::string OutDTSC::getStatsName(){return (pushing ? "INPUT:DTSC" : "OUTPUT:DTSC");}
void OutDTSC::sendNext(){
DTSC::Packet p(thisPacket, thisIdx+1);
myConn.SendNow(p.getData(), p.getDataLen());
lastActive = Util::epoch();
// If selectable tracks changed, set sentHeader to false to force it to send init data
static uint64_t lastMeta = 0;
if (Util::epoch() > lastMeta + 5){
@ -136,9 +140,6 @@ namespace Mist{
return;
}
}
DTSC::Packet p(thisPacket, thisIdx+1);
myConn.SendNow(p.getData(), p.getDataLen());
lastActive = Util::epoch();
}
void OutDTSC::sendHeader(){