[FFmpeg-cvslog] alacdec: set sample_fmt in alac_decode_init()

Justin Ruggles git at videolan.org
Thu Oct 27 01:46:41 CEST 2011


ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Wed Oct  5 19:43:49 2011 -0400| [0f26f3d5c45fa13cd5b2a8bd40d781decdec0272] | committer: Justin Ruggles

alacdec: set sample_fmt in alac_decode_init()

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0f26f3d5c45fa13cd5b2a8bd40d781decdec0272
---

 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;
 }
 



More information about the ffmpeg-cvslog mailing list