diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2013-07-09 04:44:26 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2013-08-24 11:32:37 +0200 |
commit | aa99cb15f6e4032efc1ade53f832a8788bdc758b (patch) | |
tree | 1c01718fa38ce108d7c36e3b78e2b4cc09ac6e16 /libavcodec | |
parent | 67a8a1c20242de9481ca491aa0bbbfad9c8b6565 (diff) | |
download | ffmpeg-aa99cb15f6e4032efc1ade53f832a8788bdc758b.tar.gz |
atrac3: Error on impossible encoding/channel combinations
Joint stereo encoded mono is impossible.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit 50cf5a7fb78846fc39b3ecdaa896a10bcd74da2a)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/atrac3.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/atrac3.c b/libavcodec/atrac3.c index b2052f7aa9..68ce2475b6 100644 --- a/libavcodec/atrac3.c +++ b/libavcodec/atrac3.c @@ -941,9 +941,11 @@ static av_cold int atrac3_decode_init(AVCodecContext *avctx) if (q->coding_mode == STEREO) av_log(avctx, AV_LOG_DEBUG, "Normal stereo detected.\n"); - else if (q->coding_mode == JOINT_STEREO) + else if (q->coding_mode == JOINT_STEREO) { + if (avctx->channels != 2) + return AVERROR_INVALIDDATA; av_log(avctx, AV_LOG_DEBUG, "Joint stereo detected.\n"); - else { + } else { av_log(avctx, AV_LOG_ERROR, "Unknown channel coding mode %x!\n", q->coding_mode); return AVERROR_INVALIDDATA; |