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 */ | ||||