diff --git a/ffmpeg.c b/ffmpeg.c
index 03231c7bd0a65b39c8564d6864ce3f24c01ad14c..9de9c3f571629e08af7537691286c02cb8eb1371 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -728,6 +728,11 @@ static void do_audio_out(AVFormatContext *s,
         if (coded_bps)
             size_out = size_out*coded_bps/8;
 
+        if(size_out > audio_out_size){
+            fprintf(stderr, "Internal error, buffer size too small\n");
+            av_exit(1);
+        }
+
         //FIXME pass ost->sync_opts as AVFrame.pts in avcodec_encode_audio()
         ret = avcodec_encode_audio(enc, audio_out, size_out,
                                    (short *)buftmp);