From 561bfce2033de0daf4d73bdf4232c65becbed8bf Mon Sep 17 00:00:00 2001 From: Senthilnathan M Date: Sat, 1 Mar 2014 13:13:51 +0530 Subject: [PATCH] HLS: Handle the case when hls_list_size=0. Playlist file should contain all the segments. Fixes bug #3376. Signed-off-by: Senthilnathan M Signed-off-by: Michael Niedermayer --- libavformat/hlsenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 3b50397010..1b5ef0e4b1 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -102,7 +102,7 @@ static int append_entry(HLSContext *hls, uint64_t duration) hls->end_list = en; - if (hls->nb_entries >= hls->size) { + if (hls->size && hls->nb_entries >= hls->size) { en = hls->list; hls->list = en->next; av_free(en); @@ -145,7 +145,7 @@ static int hls_window(AVFormatContext *s, int last) avio_printf(hls->pb, "#EXT-X-VERSION:3\n"); avio_printf(hls->pb, "#EXT-X-TARGETDURATION:%d\n", target_duration); avio_printf(hls->pb, "#EXT-X-MEDIA-SEQUENCE:%"PRId64"\n", - FFMAX(0, hls->sequence - hls->size)); + FFMAX(0, hls->sequence - hls->nb_entries)); for (en = hls->list; en; en = en->next) { avio_printf(hls->pb, "#EXTINF:%d,\n", en->duration);