From 3a8e882419920455cbd5d75af1d0d5d16aa7ddb9 Mon Sep 17 00:00:00 2001
From: Aurelien Jacobs <aurel@gnuage.org>
Date: Fri, 1 Oct 2010 21:52:09 +0000
Subject: [PATCH] ffmpeg: dynamically allocate stream_maps

Originally committed as revision 25302 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 ffmpeg.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 3256d24bc6e..666d0967b7c 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -118,7 +118,7 @@ static AVCodec **output_codecs = NULL;
 static int nb_output_files = 0;
 static int nb_output_codecs = 0;
 
-static AVStreamMap stream_maps[MAX_FILES*MAX_STREAMS];
+static AVStreamMap *stream_maps = NULL;
 static int nb_stream_maps;
 
 static AVMetaDataMap meta_data_maps[MAX_FILES];
@@ -623,6 +623,7 @@ static int ffmpeg_exit(int ret)
     av_free(streamid_map);
     av_free(input_codecs);
     av_free(output_codecs);
+    av_free(stream_maps);
 
     av_free(video_codec_name);
     av_free(audio_codec_name);
@@ -3032,7 +3033,8 @@ static void opt_map(const char *arg)
     AVStreamMap *m;
     char *p;
 
-    m = &stream_maps[nb_stream_maps++];
+    stream_maps = grow_array(stream_maps, sizeof(*stream_maps), &nb_stream_maps, nb_stream_maps + 1);
+    m = &stream_maps[nb_stream_maps-1];
 
     m->file_index = strtol(arg, &p, 0);
     if (*p)
-- 
GitLab