diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2011-10-05 19:43:49 -0400 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2011-10-26 11:50:16 -0400 |
commit | 0f26f3d5c45fa13cd5b2a8bd40d781decdec0272 (patch) | |
tree | fb19bc9ced3ff30af8f0f645ce77520b9f5c7a5d /libavcodec/alac.c | |
parent | aec8383348de1b7d38fc2b0c7a31a9da5c79ce0d (diff) | |
download | ffmpeg-0f26f3d5c45fa13cd5b2a8bd40d781decdec0272.tar.gz |
alacdec: set sample_fmt in alac_decode_init()
Diffstat (limited to 'libavcodec/alac.c')
-rw-r--r-- | libavcodec/alac.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/libavcodec/alac.c b/libavcodec/alac.c index cb90f128ea..8930abd57e 100644 --- a/libavcodec/alac.c +++ b/libavcodec/alac.c @@ -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; } |