[pulseaudio-commits] src/pulsecore

Tanu Kaskinen tanuk at kemper.freedesktop.org
Wed Aug 21 07:01:22 PDT 2013


 src/pulsecore/source-output.c |   12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

New commits:
commit 8cca3b3c1007fd81d57534b4f3b5280b08df9272
Author: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
Date:   Wed Aug 14 16:54:28 2013 +0300

    source-output: Get the correct source for "direct_on_input" streams
    
    If a capture stream captures from a single sink input (so the capture
    stream is a so called "direct on input" stream), then it needs to
    connect to the monitor source of the sink to which the sink input is
    connected. Previously the correct source was not figured out
    automatically, causing the capture stream creation to fail.

diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
index 66a33bd..5a48935 100644
--- a/src/pulsecore/source-output.c
+++ b/src/pulsecore/source-output.c
@@ -255,8 +255,16 @@ int pa_source_output_new(
     pa_return_val_if_fail(!data->driver || pa_utf8_valid(data->driver), -PA_ERR_INVALID);
 
     if (!data->source) {
-        pa_source *source = pa_namereg_get(core, NULL, PA_NAMEREG_SOURCE);
-        pa_return_val_if_fail(source, -PA_ERR_NOENTITY);
+        pa_source *source;
+
+        if (data->direct_on_input) {
+            source = data->direct_on_input->sink->monitor_source;
+            pa_return_val_if_fail(source, -PA_ERR_INVALID);
+        } else {
+            source = pa_namereg_get(core, NULL, PA_NAMEREG_SOURCE);
+            pa_return_val_if_fail(source, -PA_ERR_NOENTITY);
+        }
+
         pa_source_output_new_data_set_source(data, source, false);
     }
 



More information about the pulseaudio-commits mailing list