rmenc: more than 2 streams are not currently possible.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sat, 28 Apr 2012 22:08:36 +0000 (00:08 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 29 Apr 2012 11:03:15 +0000 (13:03 +0200)
It is possible that just extending the RMMuxContext.streams
array would avoid it.
It is also possible that two audio streams will fail to mux
correctly as well, though at least it should not crash for
this reason.
I do not feel like checking either of these.
This patch fixes trac issue #1022 (at least it makes it
exit with a proper error message instead of crashing).

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
libavformat/rmenc.c

index 8a9d840..3919ee9 100644 (file)
@@ -309,6 +309,11 @@ static int rm_write_header(AVFormatContext *s)
     int n;
     AVCodecContext *codec;
 
+    if (s->nb_streams > 2) {
+        av_log(s, AV_LOG_ERROR, "At most 2 streams are currently supported for muxing in RM\n");
+        return AVERROR_PATCHWELCOME;
+    }
+
     for(n=0;n<s->nb_streams;n++) {
         s->streams[n]->id = n;
         codec = s->streams[n]->codec;