[FFmpeg-devel] [PATCH v2 2/2] cmdutils: add show_help_protocol for get protocol options
Steven Liu
lq at chinaffmpeg.org
Wed Nov 27 07:52:59 EET 2019
> 在 2019年11月27日,12:52,Limin Wang <lance.lmwang at gmail.com> 写道:
>
> On Wed, Nov 27, 2019 at 11:11:58AM +0800, Steven Liu wrote:
>> 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);
>
> It's better to move the print message after the next NULL pointer checking.
I think i should remove it, because the encoder/muxer/decoder/demuxer have no this message too.
>
>> + 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
>>
>>
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
Thanks
Steven
More information about the ffmpeg-devel
mailing list