[FFmpeg-devel] [PATCH v2 2/2] cmdutils: add show_help_protocol for get protocol options
Steven Liu
lq at chinaffmpeg.org
Wed Nov 27 05:11:58 EET 2019
Signed-off-by: Steven Liu <lq at chinaffmpeg.org>
---
fftools/cmdutils.c | 18 ++++++++++++++++++
fftools/ffmpeg_opt.c | 2 +-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c
index 84f98b7c04..96b823f74a 100644
--- a/fftools/cmdutils.c
+++ b/fftools/cmdutils.c
@@ -1870,6 +1870,22 @@ static void show_help_demuxer(const char *name)
show_help_children(fmt->priv_class, AV_OPT_FLAG_DECODING_PARAM);
}
+static void show_help_protocol(const char *name)
+{
+ const AVClass *proto_class = avio_protocol_get_class(name);
+
+ printf("Protocol [%s]:\n"
+ " D. = Input supported\n"
+ " .E = Output supported\n"
+ " --\n", name);
+ if (!proto_class) {
+ av_log(NULL, AV_LOG_ERROR, "Unknown protocol '%s'.\n", name);
+ return;
+ }
+
+ show_help_children(proto_class, AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_ENCODING_PARAM);
+}
+
static void show_help_muxer(const char *name)
{
const AVCodecDescriptor *desc;
@@ -2000,6 +2016,8 @@ int show_help(void *optctx, const char *opt, const char *arg)
show_help_demuxer(par);
} else if (!strcmp(topic, "muxer")) {
show_help_muxer(par);
+ } else if (!strcmp(topic, "protocol")) {
+ show_help_protocol(par);
#if CONFIG_AVFILTER
} else if (!strcmp(topic, "filter")) {
show_help_filter(par);
diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
index 71063cc443..8d73fa8a78 100644
--- a/fftools/ffmpeg_opt.c
+++ b/fftools/ffmpeg_opt.c
@@ -3194,7 +3194,7 @@ void show_help_default(const char *opt, const char *arg)
" -h -- print basic options\n"
" -h long -- print more options\n"
" -h full -- print all options (including all format and codec specific options, very long)\n"
- " -h type=name -- print all options for the named decoder/encoder/demuxer/muxer/filter/bsf\n"
+ " -h type=name -- print all options for the named decoder/encoder/demuxer/muxer/filter/bsf/protocol\n"
" See man %s for detailed description of the options.\n"
"\n", program_name);
--
2.15.1
More information about the ffmpeg-devel
mailing list