alacdec: set bytespersample using av_get_bytes_per_sample()

pull/2/head
Justin Ruggles 13 years ago
parent d6174bfe5f
commit aec8383348
  1. 3
      libavcodec/alac.c

@ -493,15 +493,14 @@ static int alac_decode_frame(AVCodecContext *avctx,
switch (alac->setinfo_sample_size) { switch (alac->setinfo_sample_size) {
case 16: avctx->sample_fmt = AV_SAMPLE_FMT_S16; case 16: avctx->sample_fmt = AV_SAMPLE_FMT_S16;
alac->bytespersample = channels << 1;
break; break;
case 24: avctx->sample_fmt = AV_SAMPLE_FMT_S32; case 24: avctx->sample_fmt = AV_SAMPLE_FMT_S32;
alac->bytespersample = channels << 2;
break; break;
default: av_log(avctx, AV_LOG_ERROR, "Sample depth %d is not supported.\n", default: av_log(avctx, AV_LOG_ERROR, "Sample depth %d is not supported.\n",
alac->setinfo_sample_size); alac->setinfo_sample_size);
return -1; return -1;
} }
alac->bytespersample = channels * av_get_bytes_per_sample(avctx->sample_fmt);
if(outputsamples > *outputsize / alac->bytespersample){ if(outputsamples > *outputsize / alac->bytespersample){
av_log(avctx, AV_LOG_ERROR, "sample buffer too small\n"); av_log(avctx, AV_LOG_ERROR, "sample buffer too small\n");

Loading…
Cancel
Save