diff options
Diffstat (limited to 'cmdutils.c')
-rw-r--r-- | cmdutils.c | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/cmdutils.c b/cmdutils.c index 386db3d48b..5731a11f4c 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -250,14 +250,12 @@ int parse_option(void *optctx, const char *opt, const char *arg, if (!po->name && opt[0] == 'n' && opt[1] == 'o') { /* handle 'no' bool option */ po = find_option(options, opt + 2); - if (!(po->name && (po->flags & OPT_BOOL))) - goto unknown_opt; - bool_val = 0; + if ((po->name && (po->flags & OPT_BOOL))) + bool_val = 0; } if (!po->name) po = find_option(options, "default"); if (!po->name) { -unknown_opt: av_log(NULL, AV_LOG_ERROR, "Unrecognized option '%s'\n", opt); return AVERROR(EINVAL); } @@ -852,21 +850,16 @@ int opt_bsfs(const char *opt, const char *arg) int opt_protocols(const char *opt, const char *arg) { - URLProtocol *up=NULL; + void *opaque = NULL; + const char *name; printf("Supported file protocols:\n" - "I.. = Input supported\n" - ".O. = Output supported\n" - "..S = Seek supported\n" - "FLAGS NAME\n" - "----- \n"); - while((up = av_protocol_next(up))) - printf("%c%c%c %s\n", - up->url_read ? 'I' : '.', - up->url_write ? 'O' : '.', - up->url_seek ? 'S' : '.', - up->name); - return 0; + "Input:\n"); + while ((name = avio_enum_protocols(&opaque, 0))) + printf("%s\n", name); + printf("Output:\n"); + while ((name = avio_enum_protocols(&opaque, 1))) + printf("%s\n", name); } int opt_filters(const char *opt, const char *arg) |