diff --git a/src/output/output_dtsc.cpp b/src/output/output_dtsc.cpp index 50ff28e3..96f5aba3 100644 --- a/src/output/output_dtsc.cpp +++ b/src/output/output_dtsc.cpp @@ -106,20 +106,14 @@ namespace Mist{ } void OutDTSC::sendNext(){ - // If there are now more selectable tracks, select the new track and do a seek to the current - // timestamp Set sentHeader to false to force it to send init data - if (userSelect.size() < 2){ - static uint64_t lastMeta = 0; - if (Util::epoch() > lastMeta + 5){ - lastMeta = Util::epoch(); - std::set validTracks = getSupportedTracks(); - if (validTracks.size() > 1){ - if (selectDefaultTracks()){ - INFO_MSG("Track selection changed - resending headers and continuing"); - sentHeader = false; - return; - } - } + // 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){ + lastMeta = Util::epoch(); + if (selectDefaultTracks()){ + INFO_MSG("Track selection changed - resending headers and continuing"); + sentHeader = false; + return; } } DTSC::Packet p(thisPacket, thisIdx + 1); diff --git a/src/output/output_http_internal.cpp b/src/output/output_http_internal.cpp index 34361b64..bc17bc24 100644 --- a/src/output/output_http_internal.cpp +++ b/src/output/output_http_internal.cpp @@ -1039,6 +1039,7 @@ namespace Mist{ newState = streamStatus.mapped[0]; } + if (meta){meta.refresh();} if (newState != prevState || (newState == STRMSTAT_READY && M.getValidTracks() != prevTracks)){ if (newState == STRMSTAT_READY){ reconnect();