From 6087692a60699a5eac5b061dd458e5a856e0662f Mon Sep 17 00:00:00 2001 From: Steven Liu Date: Wed, 27 Nov 2019 13:57:02 +0800 Subject: cmdutils: add show_help_protocol for get protocol options Reviewed-by: Michael Niedermayer Signed-off-by: Steven Liu --- fftools/cmdutils.c | 14 ++++++++++++++ fftools/ffmpeg_opt.c | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'fftools') diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index 7954f23430..22846317c1 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -1870,6 +1870,18 @@ 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); + + 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 +2012,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 1510e026ea..12d44886ee 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); -- cgit v1.2.1