---
avconv.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/avconv.c b/avconv.c
index ebf48c5..eaa79a0 100644
--- a/avconv.c
+++ b/avconv.c
@@ -102,8 +102,6 @@ static const OptionDef options[];
static const char *last_asked_format = NULL;
static AVDictionary *ts_scale;
-static AVDictionary *output_opts[MAX_FILES];
-
static StreamMap *stream_maps = NULL;
static int nb_stream_maps;
@@ -310,6 +308,7 @@ typedef struct InputFile {
typedef struct OutputFile {
AVFormatContext *ctx;
+ AVDictionary *opts;
} OutputFile;
static InputStream *input_streams = NULL;
@@ -447,7 +446,7 @@ static int exit_program(int ret)
avio_close(s->pb);
avformat_free_context(s);
av_free(output_streams_for_file[i]);
- av_dict_free(&output_opts[i]);
+ av_dict_free(&output_files[i].opts);
}
for(i=0;i<nb_input_files;i++) {
av_close_input_file(input_files[i].ctx);
@@ -2170,12 +2169,12 @@ static int transcode(OutputFile *output_files,
/* open files and write file headers */
for (i = 0; i < nb_output_files; i++) {
os = output_files[i].ctx;
- if (avformat_write_header(os, &output_opts[i]) < 0) {
+ if (avformat_write_header(os, &output_files[i].opts) < 0) {
snprintf(error, sizeof(error), "Could not write header for output
file #%d (incorrect codec parameters ?)", i);
ret = AVERROR(EINVAL);
goto dump_format;
}
- assert_avoptions(output_opts[i]);
+ assert_avoptions(output_files[i].opts);
if (strcmp(os->oformat->name, "rtp")) {
want_sdp = 0;
}
@@ -3570,12 +3569,12 @@ static void opt_output_file(const char *filename)
av_dict_copy(&oc->metadata, metadata, 0);
av_dict_free(&metadata);
- av_dict_copy(&output_opts[nb_output_files], format_opts, 0);
if (nb_output_files == MAX_FILES)
exit_program(1); /* a temporary hack until all the
other MAX_FILES-sized arrays are removed */
output_files = grow_array(output_files, sizeof(*output_files),
&nb_output_files, nb_output_files + 1);
output_files[nb_output_files - 1].ctx = oc;
+ av_dict_copy(&output_files[nb_output_files - 1].opts, format_opts, 0);
/* check filename in case of an image number is expected */
if (oc->oformat->flags & AVFMT_NEEDNUMBER) {
--
1.7.5.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel