alacdec: set sample_fmt in alac_decode_init()

This commit is contained in:
Justin Ruggles 2011-10-05 19:43:49 -04:00
parent aec8383348
commit 0f26f3d5c4
1 changed files with 10 additions and 9 deletions

View File

@ -491,15 +491,6 @@ static int alac_decode_frame(AVCodecContext *avctx,
} else
outputsamples = alac->setinfo_max_samples_per_frame;
switch (alac->setinfo_sample_size) {
case 16: avctx->sample_fmt = AV_SAMPLE_FMT_S16;
break;
case 24: avctx->sample_fmt = AV_SAMPLE_FMT_S32;
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){
@ -660,6 +651,16 @@ static av_cold int alac_decode_init(AVCodecContext * avctx)
return -1;
}
switch (alac->setinfo_sample_size) {
case 16: avctx->sample_fmt = AV_SAMPLE_FMT_S16;
break;
case 24: avctx->sample_fmt = AV_SAMPLE_FMT_S32;
break;
default: av_log(avctx, AV_LOG_ERROR, "Sample depth %d is not supported.\n",
alac->setinfo_sample_size);
return -1;
}
return 0;
}