mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
alacdec: set bytespersample using av_get_bytes_per_sample()
This commit is contained in:
parent
d6174bfe5f
commit
aec8383348
@ -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…
x
Reference in New Issue
Block a user