[FFmpeg-devel] [PATCH] avformat/hlsenc: donnot show duplicate segment warning at byterange mode

Steven Liu lq at chinaffmpeg.org
Fri Jun 16 05:57:40 EEST 2017


When the hlsenc at BYTERANGE mode, it should not show the warning message:
"Duplicated segment filename detected:"

Reported-by: Marco <marco at worldcast.com>
Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
---
 libavformat/hlsenc.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 7ed121a..40143c8 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -722,6 +722,7 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls, double
 {
     HLSSegment *en = av_malloc(sizeof(*en));
     const char  *filename;
+    int byterange_mode = (hls->flags & HLS_SINGLE_FILE) || (hls->max_seg_size > 0);
     int ret;
 
     if (!en)
@@ -737,8 +738,8 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls, double
     if (hls->use_localtime_mkdir) {
         filename = hls->avf->filename;
     }
-    if (find_segment_by_filename(hls->segments, filename)
-        || find_segment_by_filename(hls->old_segments, filename)) {
+    if ((find_segment_by_filename(hls->segments, filename) || find_segment_by_filename(hls->old_segments, filename))
+        && !byterange_mode) {
         av_log(hls, AV_LOG_WARNING, "Duplicated segment filename detected: %s\n", filename);
     }
     av_strlcpy(en->filename, filename, sizeof(en->filename));
-- 
1.7.1






More information about the ffmpeg-devel mailing list