Commit 0448f26c authored by Luca Barbato's avatar Luca Barbato

hlsenc: keep the playlist to the correct number of items

Consider the corner case with a list size larger than the wrap
number.
parent ae85d6c9
...@@ -48,6 +48,7 @@ typedef struct HLSContext { ...@@ -48,6 +48,7 @@ typedef struct HLSContext {
int has_video; int has_video;
int64_t start_pts; int64_t start_pts;
int64_t end_pts; int64_t end_pts;
int nb_entries;
ListEntry *list; ListEntry *list;
ListEntry *end_list; ListEntry *end_list;
char *basename; char *basename;
...@@ -97,11 +98,12 @@ static int append_entry(HLSContext *hls, uint64_t duration) ...@@ -97,11 +98,12 @@ static int append_entry(HLSContext *hls, uint64_t duration)
hls->end_list = en; hls->end_list = en;
if (hls->number >= hls->size) { if (hls->nb_entries >= hls->size) {
en = hls->list; en = hls->list;
hls->list = en->next; hls->list = en->next;
av_free(en); av_free(en);
} } else
hls->nb_entries++;
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment