[pulseaudio-discuss] [PATCH 2/9] Create nodes for source outputs

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Thu Nov 7 18:00:07 CET 2013


All user-routable source outputs should have a node, so that those
entities stay user-routable also after source output routing has been
converted to be node-based.
---
 src/modules/echo-cancel/module-echo-cancel.c | 3 +++
 src/modules/module-loopback.c                | 4 ++++
 src/modules/module-remap-source.c            | 3 +++
 src/modules/module-virtual-source.c          | 3 +++
 src/modules/rtp/module-rtp-send.c            | 3 +++
 src/pulsecore/protocol-esound.c              | 3 +++
 src/pulsecore/protocol-http.c                | 3 +++
 src/pulsecore/protocol-simple.c              | 3 +++
 todo                                         | 1 -
 9 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c
index 7c3a039..2adce22 100644
--- a/src/modules/echo-cancel/module-echo-cancel.c
+++ b/src/modules/echo-cancel/module-echo-cancel.c
@@ -1867,6 +1867,9 @@ int pa__init(pa_module*m) {
     pa_source_output_new_data_set_sample_spec(&source_output_data, &source_output_ss);
     pa_source_output_new_data_set_channel_map(&source_output_data, &source_output_map);
 
+    pa_source_output_new_data_set_create_node(&source_output_data, true);
+    pa_node_new_data_set_fallback_name_prefix(&source_output_data.node_data, "echo-cancel");
+
     pa_source_output_new(&u->source_output, m->core, &source_output_data);
     pa_source_output_new_data_done(&source_output_data);
 
diff --git a/src/modules/module-loopback.c b/src/modules/module-loopback.c
index 4361fc7..c589e09 100644
--- a/src/modules/module-loopback.c
+++ b/src/modules/module-loopback.c
@@ -934,6 +934,10 @@ int pa__init(pa_module *m) {
 
     if (source_dont_move)
         source_output_data.flags |= PA_SOURCE_OUTPUT_DONT_MOVE;
+    else {
+        pa_source_output_new_data_set_create_node(&source_output_data, true);
+        pa_node_new_data_set_fallback_name_prefix(&source_output_data.node_data, "loopback");
+    }
 
     pa_source_output_new(&u->source_output, m->core, &source_output_data);
     pa_source_output_new_data_done(&source_output_data);
diff --git a/src/modules/module-remap-source.c b/src/modules/module-remap-source.c
index 2b6236c..4cdd7aa 100644
--- a/src/modules/module-remap-source.c
+++ b/src/modules/module-remap-source.c
@@ -359,6 +359,9 @@ int pa__init(pa_module*m) {
     pa_source_output_new_data_set_channel_map(&source_output_data, &stream_map);
     source_output_data.flags = remix ? 0 : PA_SOURCE_OUTPUT_NO_REMIX;
 
+    pa_source_output_new_data_set_create_node(&source_output_data, true);
+    pa_node_new_data_set_fallback_name_prefix(&source_output_data.node_data, "remap");
+
     pa_source_output_new(&u->source_output, m->core, &source_output_data);
     pa_source_output_new_data_done(&source_output_data);
 
diff --git a/src/modules/module-virtual-source.c b/src/modules/module-virtual-source.c
index e71a9b6..9d7fd31 100644
--- a/src/modules/module-virtual-source.c
+++ b/src/modules/module-virtual-source.c
@@ -585,6 +585,9 @@ int pa__init(pa_module*m) {
     pa_source_output_new_data_set_sample_spec(&source_output_data, &ss);
     pa_source_output_new_data_set_channel_map(&source_output_data, &map);
 
+    pa_source_output_new_data_set_create_node(&source_output_data, true);
+    pa_node_new_data_set_fallback_name_prefix(&source_output_data.node_data, "virtual");
+
     pa_source_output_new(&u->source_output, m->core, &source_output_data);
     pa_source_output_new_data_done(&source_output_data);
 
diff --git a/src/modules/rtp/module-rtp-send.c b/src/modules/rtp/module-rtp-send.c
index 7f05277..ff4c844 100644
--- a/src/modules/rtp/module-rtp-send.c
+++ b/src/modules/rtp/module-rtp-send.c
@@ -373,6 +373,9 @@ int pa__init(pa_module*m) {
     pa_source_output_new_data_set_channel_map(&data, &cm);
     data.flags = PA_SOURCE_OUTPUT_DONT_INHIBIT_AUTO_SUSPEND;
 
+    pa_source_output_new_data_set_create_node(&data, true);
+    pa_node_new_data_set_fallback_name_prefix(&data.node_data, "rtp-send");
+
     pa_source_output_new(&o, m->core, &data);
     pa_source_output_new_data_done(&data);
 
diff --git a/src/pulsecore/protocol-esound.c b/src/pulsecore/protocol-esound.c
index d69b554..3a17cd6 100644
--- a/src/pulsecore/protocol-esound.c
+++ b/src/pulsecore/protocol-esound.c
@@ -531,6 +531,9 @@ static int esd_proto_stream_record(connection *c, esd_proto_t request, const voi
         pa_source_output_new_data_set_source(&sdata, source, false);
     pa_source_output_new_data_set_sample_spec(&sdata, &ss);
 
+    pa_source_output_new_data_set_create_node(&sdata, true);
+    pa_node_new_data_set_fallback_name_prefix(&sdata.node_data, "esound");
+
     pa_source_output_new(&c->source_output, c->protocol->core, &sdata);
     pa_source_output_new_data_done(&sdata);
 
diff --git a/src/pulsecore/protocol-http.c b/src/pulsecore/protocol-http.c
index c2d9b60..bb55d2d 100644
--- a/src/pulsecore/protocol-http.c
+++ b/src/pulsecore/protocol-http.c
@@ -566,6 +566,9 @@ static void handle_listen_prefix(struct connection *c, const char *source_name)
     pa_source_output_new_data_set_sample_spec(&data, &ss);
     pa_source_output_new_data_set_channel_map(&data, &cm);
 
+    pa_source_output_new_data_set_create_node(&data, true);
+    pa_node_new_data_set_fallback_name_prefix(&data.node_data, "http");
+
     pa_source_output_new(&c->source_output, c->protocol->core, &data);
     pa_source_output_new_data_done(&data);
 
diff --git a/src/pulsecore/protocol-simple.c b/src/pulsecore/protocol-simple.c
index f155809..2e93636 100644
--- a/src/pulsecore/protocol-simple.c
+++ b/src/pulsecore/protocol-simple.c
@@ -599,6 +599,9 @@ void pa_simple_protocol_connect(pa_simple_protocol *p, pa_iochannel *io, pa_simp
         pa_proplist_update(data.proplist, PA_UPDATE_MERGE, c->client->proplist);
         pa_source_output_new_data_set_sample_spec(&data, &o->sample_spec);
 
+        pa_source_output_new_data_set_create_node(&data, true);
+        pa_node_new_data_set_fallback_name_prefix(&data.node_data, "simple");
+
         pa_source_output_new(&c->source_output, p->core, &data);
         pa_source_output_new_data_done(&data);
 
diff --git a/todo b/todo
index a28a79e..edf66e5 100644
--- a/todo
+++ b/todo
@@ -47,6 +47,5 @@ Backends for:
 - portaudio  (semi-done)
 
 Routing:
-- Create nodes for source outputs.
 - Create nodes for sinks.
 - Create nodes for sources.
-- 
1.8.3.1



More information about the pulseaudio-discuss mailing list