[FFmpeg-devel] [PATCH] avformat/hlsenc: better error log message for var_stream_map content

Bodecs Bela bodecsb at vivanet.hu
Sat Jun 22 17:01:19 EEST 2019


Dear All,

When multiple variant streams are specified by var_stream_map option,
%v is expected either in the filename or in the last sub-directory name,
but only in one of them. When both of them contain %v string, current
error message only states half of the "truth".
Additionally %v may appears several times inside the last sub-directory name
or in filename pattern.
This patch clarifies this in the log message and in the doc also.

please review this patch.

best

Bela

-------------- next part --------------
>From d30e63edefc69a057d8157151b307600dc6383f3 Mon Sep 17 00:00:00 2001
From: Bela Bodecs <bodecsb at vivanet.hu>
Date: Sat, 22 Jun 2019 15:55:54 +0200
Subject: [PATCH] avformat/hlsenc: better error log message for var_stream_map
 content

When multiple variant streams are specified by var_stream_map option,
%v is expected either in the filename or in the last sub-directory name,
but only in one of them. When both of them contains %v string, current
error message only states half of the truth.
And even %v may appears several times inside the last sub-directory name
or in filename pattern.
This patch clarifies this in the log message and in the doc also.


Signed-off-by: Bela Bodecs <bodecsb at vivanet.hu>
---
 doc/muxers.texi      | 3 ++-
 libavformat/hlsenc.c | 8 ++++----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/doc/muxers.texi b/doc/muxers.texi
index 4410a5f5bb..6c5b4bb637 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -656,7 +656,8 @@ This example will produce the playlists segment file sets:
 @file{file_1_000.ts}, @file{file_1_001.ts}, @file{file_1_002.ts}, etc.
 
 The string "%v" may be present in the filename or in the last directory name
-containing the file. If the string is present in the directory name, then
+containing the file, but only in one of them. (Additionally, %v may appear multiple times in the last
+sub-directory or filename.) If the string %v is present in the directory name, then
 sub-directories are created after expanding the directory name pattern. This
 enables creation of segments corresponding to different variant streams in
 subdirectories.
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index f6330ec2d5..9f5eee5491 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -1792,15 +1792,15 @@ static int validate_name(int nb_vs, const char *fn)
     subdir_name = av_dirname(fn_dup);
 
     if (nb_vs > 1 && !av_stristr(filename, "%v") && !av_stristr(subdir_name, "%v")) {
-        av_log(NULL, AV_LOG_ERROR, "More than 1 variant streams are present, %%v is expected in the filename %s\n",
-                fn);
+        av_log(NULL, AV_LOG_ERROR, "More than 1 variant streams are present, %%v is expected "
+               "either in the filename or in the sub-directory name of file %s\n", fn);
         ret = AVERROR(EINVAL);
         goto fail;
     }
 
     if (av_stristr(filename, "%v") && av_stristr(subdir_name, "%v")) {
-        av_log(NULL, AV_LOG_ERROR, "%%v is expected either in filename or in the sub-directory name of file %s\n",
-                fn);
+        av_log(NULL, AV_LOG_ERROR, "%%v is expected either in the filename or "
+               "in the sub-directory name of file %s, but only in one of them\n", fn);
         ret = AVERROR(EINVAL);
         goto fail;
     }
-- 
2.20.1.windows.1



More information about the ffmpeg-devel mailing list