aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2011-05-07 08:55:25 +0200
committerAnton Khirnov <anton@khirnov.net>2011-05-09 19:35:20 +0200
commit19615089a044520432b8b28e0ed555cc0195416a (patch)
treee6efa4dffeeecfa692143f730f4d5104d8be51c9
parent1435f2fa72b142b11e92a0c2715fd9516364e7db (diff)
downloadffmpeg-19615089a044520432b8b28e0ed555cc0195416a.tar.gz
ffmpeg.c: reset avoptions after each input/output file.
This is consistent with how all the other options work.
-rw-r--r--cmdutils.c1
-rw-r--r--ffmpeg.c4
2 files changed, 5 insertions, 0 deletions
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 */