From 42f5ef5468e2d7bb823b293677b79ddbf28e45cc Mon Sep 17 00:00:00 2001 From: Thulinma Date: Tue, 5 Aug 2014 23:37:56 +0200 Subject: [PATCH] Fixed HLS live missed fragment counter. --- src/output/output_hls.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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.