swfenc: error out for more than 1 audio or video stream
authorJanne Grunau <janne-libav@jannau.net>
Tue, 9 Oct 2012 12:48:08 +0000 (14:48 +0200)
committerJanne Grunau <janne-libav@jannau.net>
Tue, 9 Oct 2012 13:39:05 +0000 (15:39 +0200)
Prevents CID602000.

libavformat/swfenc.c

index 9de8b67..31f405d 100644 (file)
@@ -186,6 +186,10 @@ static int swf_write_header(AVFormatContext *s)
     for(i=0;i<s->nb_streams;i++) {
         AVCodecContext *enc = s->streams[i]->codec;
         if (enc->codec_type == AVMEDIA_TYPE_AUDIO) {
+            if (swf->audio_enc) {
+                av_log(s, AV_LOG_ERROR, "SWF muxer only supports 1 audio stream\n");
+                return AVERROR_INVALIDDATA;
+            }
             if (enc->codec_id == AV_CODEC_ID_MP3) {
                 swf->audio_enc = enc;
                 swf->audio_fifo= av_fifo_alloc(AUDIO_FIFO_SIZE);
@@ -196,6 +200,10 @@ static int swf_write_header(AVFormatContext *s)
                 return -1;
             }
         } else {
+            if (swf->video_enc) {
+                av_log(s, AV_LOG_ERROR, "SWF muxer only supports 1 video stream\n");
+                return AVERROR_INVALIDDATA;
+            }
             if (enc->codec_id == AV_CODEC_ID_VP6F ||
                 enc->codec_id == AV_CODEC_ID_FLV1 ||
                 enc->codec_id == AV_CODEC_ID_MJPEG) {