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