---
libavcodec/alac.c | 19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index cb90f12..8930abd 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;
}
--
1.7.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel