FF_INPUT_BUFFER_PADDING_SIZE
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 1 Aug 2003 11:01:05 +0000 (11:01 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 1 Aug 2003 11:01:05 +0000 (11:01 +0000)
Originally committed as revision 2100 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/apiexample.c

index 94ec222..10afd42 100644 (file)
@@ -98,9 +98,12 @@ void audio_decode_example(const char *outfilename, const char *filename)
     int out_size, size, len;
     FILE *f, *outfile;
     uint8_t *outbuf;
-    uint8_t inbuf[INBUF_SIZE], *inbuf_ptr;
+    uint8_t inbuf[INBUF_SIZE + FF_INPUT_BUFFER_PADDING_SIZE], *inbuf_ptr;
 
     printf("Audio decoding\n");
+    
+    /* set end of buffer to 0 (this ensures that no overreading happens for damaged mpeg streams) */
+    memset(inbuf + INBUF_SIZE, 0, FF_INPUT_BUFFER_PADDING_SIZE);
 
     /* find the mpeg audio decoder */
     codec = avcodec_find_decoder(CODEC_ID_MP2);
@@ -297,9 +300,12 @@ void video_decode_example(const char *outfilename, const char *filename)
     int frame, size, got_picture, len;
     FILE *f;
     AVFrame *picture;
-    uint8_t inbuf[INBUF_SIZE], *inbuf_ptr;
+    uint8_t inbuf[INBUF_SIZE + FF_INPUT_BUFFER_PADDING_SIZE], *inbuf_ptr;
     char buf[1024];
 
+    /* set end of buffer to 0 (this ensures that no overreading happens for damaged mpeg streams) */
+    memset(inbuf + INBUF_SIZE, 0, FF_INPUT_BUFFER_PADDING_SIZE);
+
     printf("Video decoding\n");
 
     /* find the mpeg1 video decoder */