Signed-off-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.4
@@ -532,6 +532,15 @@ static void ffmpeg_cleanup(int ret) | |||||
term_exit(); | term_exit(); | ||||
} | } | ||||
void remove_avoptions(AVDictionary **a, AVDictionary *b) | |||||
{ | |||||
AVDictionaryEntry *t = NULL; | |||||
while ((t = av_dict_get(b, "", t, AV_DICT_IGNORE_SUFFIX))) { | |||||
av_dict_set(a, t->key, NULL, AV_DICT_MATCH_CASE); | |||||
} | |||||
} | |||||
void assert_avoptions(AVDictionary *m) | void assert_avoptions(AVDictionary *m) | ||||
{ | { | ||||
AVDictionaryEntry *t; | AVDictionaryEntry *t; | ||||
@@ -502,6 +502,7 @@ void show_usage(void); | |||||
void opt_output_file(void *optctx, const char *filename); | void opt_output_file(void *optctx, const char *filename); | ||||
void remove_avoptions(AVDictionary **a, AVDictionary *b); | |||||
void assert_avoptions(AVDictionary *m); | void assert_avoptions(AVDictionary *m); | ||||
int guess_input_channel_layout(InputStream *ist); | int guess_input_channel_layout(InputStream *ist); | ||||
@@ -872,6 +872,7 @@ static int open_input_file(OptionsContext *o, const char *filename) | |||||
print_error(filename, err); | print_error(filename, err); | ||||
exit_program(1); | exit_program(1); | ||||
} | } | ||||
remove_avoptions(&o->g->format_opts, o->g->codec_opts); | |||||
assert_avoptions(o->g->format_opts); | assert_avoptions(o->g->format_opts); | ||||
/* apply forced codec ids */ | /* apply forced codec ids */ | ||||