diff --git a/src/output/output_hls.cpp b/src/output/output_hls.cpp index 3658dff1..62456123 100644 --- a/src/output/output_hls.cpp +++ b/src/output/output_hls.cpp @@ -20,6 +20,9 @@ namespace Mist { for (std::map::iterator it = myMeta.tracks.begin(); it != myMeta.tracks.end(); it++){ if (it->second.codec == "H264"){ int bWidth = it->second.bps * 2; + if (bWidth < 5){ + bWidth = 5; + } if (audioId != -1){ bWidth += myMeta.tracks[audioId].bps * 2; } @@ -49,6 +52,9 @@ namespace Mist { longestFragment = it->getDuration(); } } + if ((myMeta.tracks[tid].lastms - myMeta.tracks[tid].firstms) / myMeta.tracks[tid].fragments.size() > longestFragment){ + longestFragment = (myMeta.tracks[tid].lastms - myMeta.tracks[tid].firstms) / myMeta.tracks[tid].fragments.size(); + } result << "#EXTM3U\r\n#EXT-X-TARGETDURATION:" << (longestFragment / 1000) + 1 << "\r\n"; std::deque lines;