diff mbox series

[FFmpeg-devel,1/3] avformat/hls: reduce default max reload to 3

Message ID 20230515000547.1703-1-michael@niedermayer.cc
State Accepted
Commit 5f810435c2a6d985fabd9e6c025e0da0c99c39a9
Headers show
Series [FFmpeg-devel,1/3] avformat/hls: reduce default max reload to 3 | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Michael Niedermayer May 15, 2023, 12:05 a.m. UTC
The 1000 did result in the appearance of a never ending reload loop

The RFC mandates that "If the client reloads a Playlist file and finds that it has not
changed, then it MUST wait for a period of one-half the target
duration before retrying." and if it has changed
"the client MUST wait for at least the target duration before attempting to reload the
Playlist file again"

Trying to reload 3 times seems a better default than 1000 given these
durations

Issue found by: Сергей Колесников
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavformat/hls.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Michael Niedermayer Sept. 16, 2023, 5:39 p.m. UTC | #1
On Mon, May 15, 2023 at 02:05:45AM +0200, Michael Niedermayer wrote:
> The 1000 did result in the appearance of a never ending reload loop
> 
> The RFC mandates that "If the client reloads a Playlist file and finds that it has not
> changed, then it MUST wait for a period of one-half the target
> duration before retrying." and if it has changed
> "the client MUST wait for at least the target duration before attempting to reload the
> Playlist file again"
> 
> Trying to reload 3 times seems a better default than 1000 given these
> durations
> 
> Issue found by: Сергей Колесников
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavformat/hls.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

will apply

[...]
diff mbox series

Patch

diff --git a/libavformat/hls.c b/libavformat/hls.c
index 11e345b280..df2442c376 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -2556,7 +2556,7 @@  static const AVOption hls_options[] = {
         {.str = "3gp,aac,avi,ac3,eac3,flac,mkv,m3u8,m4a,m4s,m4v,mpg,mov,mp2,mp3,mp4,mpeg,mpegts,ogg,ogv,oga,ts,vob,wav"},
         INT_MIN, INT_MAX, FLAGS},
     {"max_reload", "Maximum number of times a insufficient list is attempted to be reloaded",
-        OFFSET(max_reload), AV_OPT_TYPE_INT, {.i64 = 1000}, 0, INT_MAX, FLAGS},
+        OFFSET(max_reload), AV_OPT_TYPE_INT, {.i64 = 3}, 0, INT_MAX, FLAGS},
     {"m3u8_hold_counters", "The maximum number of times to load m3u8 when it refreshes without new segments",
         OFFSET(m3u8_hold_counters), AV_OPT_TYPE_INT, {.i64 = 1000}, 0, INT_MAX, FLAGS},
     {"http_persistent", "Use persistent HTTP connections",