Do not discard truncated packets.
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 19 Apr 2009 20:40:56 +0000 (20:40 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 19 Apr 2009 20:40:56 +0000 (20:40 +0000)
Based on a patch by Maksym Veremeyenko verem DOT m1stereo AT tv

Originally committed as revision 18626 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/pcm.c

index ca42b53..beb831b 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);