Limit silence buffer size for pa_sink_render()
authorLennart Poettering <lennart@poettering.net>
Sun, 24 Jun 2007 16:17:30 +0000 (16:17 +0000)
committerLennart Poettering <lennart@poettering.net>
Sun, 24 Jun 2007 16:17:30 +0000 (16:17 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1498 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/sink.c

index 11effe2..d5ca061 100644 (file)
@@ -46,6 +46,7 @@
 #include "sink.h"
 
 #define MAX_MIX_CHANNELS 32
+#define SILENCE_BUFFER_LENGTH (64*1024)
 
 static PA_DEFINE_CHECK_TYPE(pa_sink, sink_check_type, pa_msgobject_check_type);
 
@@ -364,6 +365,9 @@ void pa_sink_render(pa_sink*s, size_t length, pa_memchunk *result) {
 
     if (n == 0) {
 
+        if (length > SILENCE_BUFFER_LENGTH)
+            length = SILENCE_BUFFER_LENGTH;
+
         if (!s->silence || pa_memblock_get_length(s->silence) < length) {
             if (s->silence)
                 pa_memblock_unref(s->silence);