From 320ed532128f82927604c819b155a3e9a1a59e73 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Thu, 3 Nov 2022 13:16:57 +0100 Subject: [PATCH] Fix DTSC pull output key mismatch errors, fix not starting at keyframes --- src/output/output.cpp | 6 +++++- src/output/output_dtsc.cpp | 7 ++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/output/output.cpp b/src/output/output.cpp index fb260a24..5ed4f3ae 100644 --- a/src/output/output.cpp +++ b/src/output/output.cpp @@ -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); + } } } } diff --git a/src/output/output_dtsc.cpp b/src/output/output_dtsc.cpp index 63c2030b..d174c0e9 100644 --- a/src/output/output_dtsc.cpp +++ b/src/output/output_dtsc.cpp @@ -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(){