mirror of https://git.ffmpeg.org/ffmpeg.git
libavformat/segment: change segment_list_size behavior to match hls_list_size behavior.
Make the segment muxer keep segment_list_size segments instead of segment_list_size + 1 segments. This patch also changes the documentation for segment_list_size to reduce possible confusion over how many segments are kept. this allows the segment list to be limited to containing only one segment which used to be impossible because a segment_list_size of 0 kept all the segments and a segment_list_size of 1 kept 2 segments. Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
37a0ac1d82
commit
fa6716c66d
|
@ -822,7 +822,7 @@ Select the listing format.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@item segment_list_size @var{size}
|
@item segment_list_size @var{size}
|
||||||
Update the list file so that it contains at most the last @var{size}
|
Update the list file so that it contains at most @var{size}
|
||||||
segments. If 0 the list file will contain all the segments. Default
|
segments. If 0 the list file will contain all the segments. Default
|
||||||
value is 0.
|
value is 0.
|
||||||
|
|
||||||
|
|
|
@ -333,7 +333,7 @@ static int segment_end(AVFormatContext *s, int write_trailer, int is_last)
|
||||||
seg->segment_list_entries_end = entry;
|
seg->segment_list_entries_end = entry;
|
||||||
|
|
||||||
/* drop first item */
|
/* drop first item */
|
||||||
if (seg->list_size && seg->segment_count > seg->list_size) {
|
if (seg->list_size && seg->segment_count >= seg->list_size) {
|
||||||
entry = seg->segment_list_entries;
|
entry = seg->segment_list_entries;
|
||||||
seg->segment_list_entries = seg->segment_list_entries->next;
|
seg->segment_list_entries = seg->segment_list_entries->next;
|
||||||
av_free(entry->filename);
|
av_free(entry->filename);
|
||||||
|
|
Loading…
Reference in New Issue