summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>2013-07-03 14:09:12 +0300
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>2013-09-17 16:21:40 +0300
commitd72c46c7c5c778e7ceeaebf676c09bfb476f4bb3 (patch)
tree6baf176745273b9b779f7855e39d015a8f0d0316
parenta9e38da109eb275f78d4a82b7670326d858ccb8e (diff)
alsa: Add node support
-rw-r--r--src/modules/alsa/alsa-mixer.c2
-rw-r--r--src/modules/alsa/alsa-sink.c5
-rw-r--r--src/modules/alsa/alsa-source.c5
-rw-r--r--src/modules/alsa/alsa-ucm.c2
4 files changed, 14 insertions, 0 deletions
diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
index f77667f51..c1fa72ccf 100644
--- a/src/modules/alsa/alsa-mixer.c
+++ b/src/modules/alsa/alsa-mixer.c
@@ -4497,6 +4497,8 @@ static pa_device_port* device_port_alsa_init(pa_hashmap *ports, /* card ports */
pa_device_port_new_data_set_name(&port_data, name);
pa_device_port_new_data_set_description(&port_data, description);
pa_device_port_new_data_set_direction(&port_data, path->direction == PA_ALSA_DIRECTION_OUTPUT ? PA_DIRECTION_OUTPUT : PA_DIRECTION_INPUT);
+ pa_device_port_new_data_set_create_node(&port_data, true);
+ pa_node_new_data_set_fallback_name_prefix(&port_data.node_data, "alsa");
p = pa_device_port_new(core, &port_data, sizeof(pa_alsa_port_data));
pa_device_port_new_data_done(&port_data);
diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
index 71aea3fbe..af081b967 100644
--- a/src/modules/alsa/alsa-sink.c
+++ b/src/modules/alsa/alsa-sink.c
@@ -2297,6 +2297,11 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
else if (u->mixer_path_set)
pa_alsa_add_ports(&data, u->mixer_path_set, card);
+ if (pa_hashmap_isempty(data.ports)) {
+ pa_sink_new_data_set_create_node(&data, true);
+ pa_node_new_data_set_fallback_name_prefix(&data.node_data, "alsa");
+ }
+
u->sink = pa_sink_new(m->core, &data, PA_SINK_HARDWARE | PA_SINK_LATENCY | (u->use_tsched ? PA_SINK_DYNAMIC_LATENCY : 0) |
(set_formats ? PA_SINK_SET_FORMATS : 0));
pa_sink_new_data_done(&data);
diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
index ef444b968..f9d5b1a3e 100644
--- a/src/modules/alsa/alsa-source.c
+++ b/src/modules/alsa/alsa-source.c
@@ -1996,6 +1996,11 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
else if (u->mixer_path_set)
pa_alsa_add_ports(&data, u->mixer_path_set, card);
+ if (pa_hashmap_isempty(data.ports)) {
+ pa_source_new_data_set_create_node(&data, true);
+ pa_node_new_data_set_fallback_name_prefix(&data.node_data, "alsa");
+ }
+
u->source = pa_source_new(m->core, &data, PA_SOURCE_HARDWARE|PA_SOURCE_LATENCY|(u->use_tsched ? PA_SOURCE_DYNAMIC_LATENCY : 0));
pa_source_new_data_done(&data);
diff --git a/src/modules/alsa/alsa-ucm.c b/src/modules/alsa/alsa-ucm.c
index fc862996d..6c1310ed8 100644
--- a/src/modules/alsa/alsa-ucm.c
+++ b/src/modules/alsa/alsa-ucm.c
@@ -729,6 +729,8 @@ static void ucm_add_port_combination(
pa_device_port_new_data_set_name(&port_data, name);
pa_device_port_new_data_set_description(&port_data, desc);
pa_device_port_new_data_set_direction(&port_data, is_sink ? PA_DIRECTION_OUTPUT : PA_DIRECTION_INPUT);
+ pa_device_port_new_data_set_create_node(&port_data, true);
+ pa_node_new_data_set_fallback_name_prefix(&port_data.node_data, "alsa");
port = pa_device_port_new(core, &port_data, 0);
pa_device_port_new_data_done(&port_data);