[pulseaudio-discuss] [PATCH 24/30] node: Support sink input as an initial route for source outputs

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Thu Jan 16 07:02:50 PST 2014


When creating source outputs with direct_on_input set, those should
be mapped to a connection between the sink input node and the source
output node.

There's no code yet that would set a sink input node as the requested
connection for a new source output, but soon there will be.
---
 src/pulsecore/node.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/pulsecore/node.c b/src/pulsecore/node.c
index 5202731..3c6584c 100644
--- a/src/pulsecore/node.c
+++ b/src/pulsecore/node.c
@@ -347,6 +347,21 @@ static void set_initial_routing_fallback(pa_node_set_initial_routing_hook_data *
             return;
         }
 
+        if (other_node->type == PA_NODE_TYPE_SINK_INPUT) {
+            pa_sink_input *input = other_node->owner;
+
+            r = pa_source_output_set_direct_on_input(source_output, input);
+            if (r < 0) {
+                pa_log_info("Can't connect %s to %s, pa_source_output_set_direct_on_input() failed.", node->name,
+                            other_node->name);
+                data->ret = r;
+                return;
+            }
+
+            data->ret = 0;
+            return;
+        }
+
         pa_log_info("Can't connect %s to %s, connections from type %s to type %s are not supported.", node->name,
                     other_node->name, pa_node_type_to_string(node->type), pa_node_type_to_string(other_node->type));
         data->ret = -PA_ERR_NOTSUPPORTED;
-- 
1.8.3.1



More information about the pulseaudio-discuss mailing list