]> code.delx.au - pulseaudio/commitdiff
only post data into the monitor source when it is not suspended
authorLennart Poettering <lennart@poettering.net>
Mon, 24 Sep 2007 23:32:01 +0000 (23:32 +0000)
committerLennart Poettering <lennart@poettering.net>
Mon, 24 Sep 2007 23:32:01 +0000 (23:32 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1901 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/sink.c

index 46f890de500db70889f15d18139cba1310ac1652..38e7d63260522a49eaba992afc12f1bd04d01328 100644 (file)
@@ -482,7 +482,7 @@ void pa_sink_render(pa_sink*s, size_t length, pa_memchunk *result) {
     if (s->thread_info.state == PA_SINK_RUNNING)
         inputs_drop(s, info, n, result->length);
 
-    if (s->monitor_source)
+    if (s->monitor_source && PA_SOURCE_OPENED(pa_source_get_state(s->monitor_source)))
         pa_source_post(s->monitor_source, result);
 
     pa_sink_unref(s);
@@ -549,7 +549,7 @@ void pa_sink_render_into(pa_sink*s, pa_memchunk *target) {
     if (s->thread_info.state == PA_SINK_RUNNING)
         inputs_drop(s, info, n, target->length);
 
-    if (s->monitor_source)
+    if (s->monitor_source && PA_SOURCE_OPENED(pa_source_get_state(s->monitor_source)))
         pa_source_post(s->monitor_source, target);
 
     pa_sink_unref(s);