--- libavcodec/libmp3lame.c.orig 2008-08-09 21:37:36.000000000 +0400
+++ libavcodec/libmp3lame.c 2009-02-03 11:22:37.000000000 +0300
@@ -34,6 +34,7 @@
     int stereo;
     uint8_t buffer[BUFFER_SIZE];
     int buffer_index;
+    int flushed;
 } Mp3AudioContext;
 
 static av_cold int MP3lame_encode_init(AVCodecContext *avctx)
@@ -166,12 +167,18 @@
                 BUFFER_SIZE - s->buffer_index
                 );
         }
+        s->flushed = 0;
     }else{
+        if (s->flushed)
+            lame_result = 0;
+        else {
+            s->flushed = 1;
         lame_result= lame_encode_flush(
                 s->gfp,
                 s->buffer + s->buffer_index,
                 BUFFER_SIZE - s->buffer_index
                 );
+        }
     }
 
     if(lame_result==-1) {
