summaryrefslogtreecommitdiff
path: root/libavcodec/vmdav.c
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2011-02-23 13:10:58 -0500
committerRonald S. Bultje <rsbultje@gmail.com>2011-02-23 20:58:56 -0500
commita58bcb40b164b92957db73e702465808a9180126 (patch)
treeacf9fd0d0ec0321b6391e31b6e32a0d5a01150b2 /libavcodec/vmdav.c
parent4acc94e97a9551d11ead29735e23283d71f1d4c2 (diff)
vmdaudio: fix raw_block_size calculation.
The size should depend on the output sample size, not the internal bit depth. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Diffstat (limited to 'libavcodec/vmdav.c')
-rw-r--r--libavcodec/vmdav.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/vmdav.c b/libavcodec/vmdav.c
index e396c0bc9e..c7f99dbcb5 100644
--- a/libavcodec/vmdav.c
+++ b/libavcodec/vmdav.c
@@ -539,7 +539,8 @@ static int vmdaudio_decode_frame(AVCodecContext *avctx,
} else if (buf[6] == 2) {
/* initial chunk, may contain audio and silence */
uint32_t flags = AV_RB32(p);
- int raw_block_size = s->block_align * s->bits / 8;
+ int raw_block_size = s->block_align *
+ (av_get_bits_per_sample_fmt(avctx->sample_fmt) / 8);
int silent_chunks;
if(flags == 0xFFFFFFFF)
silent_chunks = 32;