Module: libav
Branch: master
Commit: d94e29cac94d1f938cf3a25320522cc9de0a6b86

Author:    Justin Ruggles <[email protected]>
Committer: Justin Ruggles <[email protected]>
Date:      Tue Sep 27 19:49:25 2011 -0400

pcmdec: move number of channels check to pcm_decode_init()

---

 libavcodec/pcm.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c
index c0d0930..2a50a81 100644
--- a/libavcodec/pcm.c
+++ b/libavcodec/pcm.c
@@ -213,6 +213,11 @@ static av_cold int pcm_decode_init(AVCodecContext * avctx)
     PCMDecode *s = avctx->priv_data;
     int i;
 
+    if (avctx->channels <= 0 || avctx->channels > MAX_CHANNELS) {
+        av_log(avctx, AV_LOG_ERROR, "PCM channels out of bounds\n");
+        return AVERROR(EINVAL);
+    }
+
     switch(avctx->codec->id) {
     case CODEC_ID_PCM_ALAW:
         for(i=0;i<256;i++)
@@ -266,11 +271,6 @@ static int pcm_decode_frame(AVCodecContext *avctx,
     samples = data;
     src = buf;
 
-    if(avctx->channels <= 0 || avctx->channels > MAX_CHANNELS){
-        av_log(avctx, AV_LOG_ERROR, "PCM channels out of bounds\n");
-        return -1;
-    }
-
     sample_size = av_get_bits_per_sample(avctx->codec_id)/8;
 
     /* av_get_bits_per_sample returns 0 for CODEC_ID_PCM_DVD */

_______________________________________________
libav-commits mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-commits

Reply via email to