---
libavcodec/alac.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index 3580b50..cb90f12 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -493,15 +493,14 @@ static int alac_decode_frame(AVCodecContext *avctx,
switch (alac->setinfo_sample_size) {
case 16: avctx->sample_fmt = AV_SAMPLE_FMT_S16;
- alac->bytespersample = channels << 1;
break;
case 24: avctx->sample_fmt = AV_SAMPLE_FMT_S32;
- alac->bytespersample = channels << 2;
break;
default: av_log(avctx, AV_LOG_ERROR, "Sample depth %d is not supported.\n",
alac->setinfo_sample_size);
return -1;
}
+ alac->bytespersample = channels *
av_get_bytes_per_sample(avctx->sample_fmt);
if(outputsamples > *outputsize / alac->bytespersample){
av_log(avctx, AV_LOG_ERROR, "sample buffer too small\n");
--
1.7.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel