diff --git a/src/output/output_hls.cpp b/src/output/output_hls.cpp index 7512732b..b052ef5d 100644 --- a/src/output/output_hls.cpp +++ b/src/output/output_hls.cpp @@ -54,8 +54,12 @@ namespace Mist { } } result << "#EXTM3U\r\n" - "#EXT-X-TARGETDURATION:" << (longestFragment / 1000) + 1 << "\r\n" - "#EXT-X-MEDIA-SEQUENCE:" << myMeta.tracks[tid].missedFrags << "\r\n"; + "#EXT-X-TARGETDURATION:" << (longestFragment / 1000) + 1 << "\r\n"; + if (myMeta.live && myMeta.tracks[tid].fragments.size() > 2){ + result << "#EXT-X-MEDIA-SEQUENCE:" << myMeta.tracks[tid].missedFrags+1 << "\r\n"; + }else{ + result << "#EXT-X-MEDIA-SEQUENCE:" << myMeta.tracks[tid].missedFrags << "\r\n"; + } for (std::deque::iterator it = myMeta.tracks[tid].fragments.begin(); it != myMeta.tracks[tid].fragments.end(); it++){ if (myMeta.live && myMeta.tracks[tid].fragments.size() > 2 && it == myMeta.tracks[tid].fragments.begin()){ //skip the first fragment if live and there are more than 2 fragments.