summaryrefslogtreecommitdiff
path: root/libavcodec/adpcm.c
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2012-01-05 20:50:55 +0100
committerJanne Grunau <janne-libav@jannau.net>2012-01-05 22:29:18 +0100
commitbb5b3940b08d8dad5b7e948e8f3b02cd2eb70716 (patch)
tree71770710271ce054f9ffae144c779419351957fe /libavcodec/adpcm.c
parentfaaec4676cb4c7a2303d50df66c6290bc96a7657 (diff)
adpcm: ADPCM Electronic Arts has always two channels
Diffstat (limited to 'libavcodec/adpcm.c')
-rw-r--r--libavcodec/adpcm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/adpcm.c b/libavcodec/adpcm.c
index 2081ef64d7..b319635ed4 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -91,9 +91,13 @@ typedef struct ADPCMDecodeContext {
static av_cold int adpcm_decode_init(AVCodecContext * avctx)
{
ADPCMDecodeContext *c = avctx->priv_data;
+ unsigned int min_channels = 1;
unsigned int max_channels = 2;
switch(avctx->codec->id) {
+ case CODEC_ID_ADPCM_EA:
+ min_channels = 2;
+ break;
case CODEC_ID_ADPCM_EA_R1:
case CODEC_ID_ADPCM_EA_R2:
case CODEC_ID_ADPCM_EA_R3:
@@ -101,7 +105,7 @@ static av_cold int adpcm_decode_init(AVCodecContext * avctx)
max_channels = 6;
break;
}
- if (avctx->channels <= 0 || avctx->channels > max_channels) {
+ if (avctx->channels < min_channels || avctx->channels > max_channels) {
av_log(avctx, AV_LOG_ERROR, "Invalid number of channels\n");
return AVERROR(EINVAL);
}