summaryrefslogtreecommitdiff
path: root/libavformat/hlsenc.c
diff options
context:
space:
mode:
authorSenthilnathan M <senthil.codr@gmail.com>2014-03-01 13:13:51 +0530
committerMichael Niedermayer <michaelni@gmx.at>2014-03-01 15:13:23 +0100
commit561bfce2033de0daf4d73bdf4232c65becbed8bf (patch)
treea5ec899b970f02b8c37c9d20546294f6a43c2577 /libavformat/hlsenc.c
parent5972bcfac9106b9615ce1277deeaf6460ff738fc (diff)
HLS: Handle the case when hls_list_size=0. Playlist file should contain all the segments. Fixes bug #3376.
Signed-off-by: Senthilnathan M <senthil.codr@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/hlsenc.c')
-rw-r--r--libavformat/hlsenc.c4
1 files 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);