aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2012-10-09 14:48:08 +0200
committerJanne Grunau <janne-libav@jannau.net>2012-10-09 15:39:05 +0200
commit53e122dd4afbb5bbdbba8b18bee0beb460242dc7 (patch)
tree95e9b3dbd21141f89127a30c6e86955e2e0e50d1
parent0fb3b24adac11cc62ad8daacf3c8e01469baa918 (diff)
downloadffmpeg-53e122dd4afbb5bbdbba8b18bee0beb460242dc7.tar.gz
swfenc: error out for more than 1 audio or video stream
Prevents CID602000.
-rw-r--r--libavformat/swfenc.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libavformat/swfenc.c b/libavformat/swfenc.c
index 9de8b679d7..31f405d5cd 100644
--- a/libavformat/swfenc.c
+++ b/libavformat/swfenc.c
@@ -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) {