diff --git a/cmdutils.c b/cmdutils.c index 9da07223f5..f770c7963d 100644 --- a/cmdutils.c +++ b/cmdutils.c @@ -88,6 +88,7 @@ void uninit_opts(void) } av_freep(&opt_names); av_freep(&opt_values); + opt_name_count = 0; } void log_callback_help(void* ptr, int level, const char* fmt, va_list vl) diff --git a/ffmpeg.c b/ffmpeg.c index 0d5b976327..bb64f7cdc9 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -3305,6 +3305,8 @@ static void opt_input_file(const char *filename) av_freep(&video_codec_name); av_freep(&audio_codec_name); av_freep(&subtitle_codec_name); + uninit_opts(); + init_opts(); } static void check_inputs(int *has_video_ptr, @@ -3850,6 +3852,8 @@ static void opt_output_file(const char *filename) set_context_opts(oc, avformat_opts, AV_OPT_FLAG_ENCODING_PARAM, NULL); av_freep(&forced_key_frames); + uninit_opts(); + init_opts(); } /* same option as mencoder */