]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Do not discard truncated packets.
authormichael <michael@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sun, 19 Apr 2009 20:40:56 +0000 (20:40 +0000)
committermichael <michael@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sun, 19 Apr 2009 20:40:56 +0000 (20:40 +0000)
Based on a patch by Maksym Veremeyenko verem DOT m1stereo AT tv

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18626 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/pcm.c

index ca42b53f8d3c9d3353005861a73e82e47942d4ef..beb831b121ea9ee78c86c645a24f5240f63f36e7 100644 (file)
@@ -361,8 +361,11 @@ static int pcm_decode_frame(AVCodecContext *avctx,
     n = avctx->channels * sample_size;
 
     if(n && buf_size % n){
+        if (buf_size < n) {
         av_log(avctx, AV_LOG_ERROR, "invalid PCM packet\n");
         return -1;
+        }else
+            buf_size -= buf_size % n;
     }
 
     buf_size= FFMIN(buf_size, *data_size/2);