static const OptionDef *find_option(const OptionDef *po, const char *name)
{
- const char *p = strchr(name, ':');
- int len = p ? p - name : strlen(name);
-
while (po->name) {
- if (!strncmp(name, po->name, len) && strlen(po->name) == len)
+ const char *end;
+ if (av_strstart(name, po->name, &end) && (!*end || *end == ':'))
break;
po++;
}
}
AVDictionary *filter_codec_opts(AVDictionary *opts, enum AVCodecID codec_id,
- AVFormatContext *s, AVStream *st, AVCodec *codec)
+ AVFormatContext *s, AVStream *st, const AVCodec *codec)
{
AVDictionary *ret = NULL;
AVDictionaryEntry *t = NULL;
}
while (t = av_dict_get(opts, "", t, AV_DICT_IGNORE_SUFFIX)) {
+ const AVClass *priv_class;
char *p = strchr(t->key, ':');
/* check stream specification in opt name */
if (av_opt_find(&cc, t->key, NULL, flags, AV_OPT_SEARCH_FAKE_OBJ) ||
!codec ||
- (codec->priv_class &&
- av_opt_find(&codec->priv_class, t->key, NULL, flags,
+ ((priv_class = codec->priv_class) &&
+ av_opt_find(&priv_class, t->key, NULL, flags,
AV_OPT_SEARCH_FAKE_OBJ)))
av_dict_set(&ret, t->key, t->value, 0);
else if (t->key[0] == prefix &&
int ret = 0;
int error_level = av_log_get_level();
- av_log_set_level(AV_LOG_ERROR);
+ av_log_set_level(AV_LOG_WARNING);
if ((ret = show_sinks_sources_parse_arg(arg, &dev, &opts)) < 0)
goto fail;
int ret = 0;
int error_level = av_log_get_level();
- av_log_set_level(AV_LOG_ERROR);
+ av_log_set_level(AV_LOG_WARNING);
if ((ret = show_sinks_sources_parse_arg(arg, &dev, &opts)) < 0)
goto fail;