[FFmpeg-devel] [PATCH] hls: skip to next segment if the current is unavailable

wm4 nfxjfg at googlemail.com
Thu Apr 16 13:47:20 CEST 2015


Apparently, some live streams can delete segments too early, maybe
because the client is too far behind. In this case, it's better to skip
the segment, instead of returning EOF. (Yes, the HLS demuxer actually
returns AVERROR_EOF if opening the segment returns a 404 HTTP error.)
---
I'd say this is fairly controversial.
---
 libavformat/hls.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/hls.c b/libavformat/hls.c
index 4a7d003..451b78e 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -1087,7 +1087,8 @@ reload:
         if (ret < 0) {
             av_log(v->parent, AV_LOG_WARNING, "Failed to open segment of playlist %d\n",
                    v->index);
-            return ret;
+            v->cur_seq_no += 1;
+            goto reload;
         }
         just_opened = 1;
     }
-- 
2.1.4



More information about the ffmpeg-devel mailing list