mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avformat/hlsenc: correctly compute target duration
With HLS, the duration of all segments must be lower or equal to the target duration. Therefore floor(duration + 0.5) yields incorrect results. For example, for duration = 1.35, floor(duration + 0.5) yields 1.0, but the correct result is 2.0. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
This commit is contained in:
parent
92c29914de
commit
6cc1fec412
@ -141,7 +141,7 @@ static int hls_window(AVFormatContext *s, int last)
|
|||||||
|
|
||||||
for (en = hls->list; en; en = en->next) {
|
for (en = hls->list; en; en = en->next) {
|
||||||
if (target_duration < en->duration)
|
if (target_duration < en->duration)
|
||||||
target_duration = (int) floor(en->duration + 0.5);
|
target_duration = ceil(en->duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
avio_printf(hls->pb, "#EXTM3U\n");
|
avio_printf(hls->pb, "#EXTM3U\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user