[pulseaudio-discuss,1/7] module-new: allow omitting the server argument

Submitted by Pierre Ossman on May 23, 2016, 2:57 p.m.

Details

Message ID 20160523165753.54151c1b@ossman.lkpg.cendio.se
State New
Headers show
Series "Series without cover letter" ( rev: 1 ) in PulseAudio

Not browsing as part of any series.

Commit Message

Pierre Ossman May 23, 2016, 2:57 p.m.
Omitting the server argument makes it try to find a server
automatically. Note that it can often find itself and cause a loop
so it's only useful in certain circumstances.

Signed-off-by: Pierre Ossman <ossman@cendio.se>
---
 src/modules/module-tunnel-sink-new.c   | 14 +++++++-------
 src/modules/module-tunnel-source-new.c | 14 +++++++-------
 2 files changed, 14 insertions(+), 14 deletions(-)

     pa_sink_new_data_set_name(&sink_data, sink_name);
@@ -515,7 +515,7 @@ int pa__init(pa_module *m) {
     pa_proplist_setf(sink_data.proplist,
                      PA_PROP_DEVICE_DESCRIPTION,
                      _("Tunnel to %s/%s"),
-                     remote_server,
+                     pa_strempty(remote_server),
                      pa_strempty(u->remote_sink_name));
 
     if (pa_modargs_get_proplist(ma, "sink_properties",
sink_data.proplist, PA_UPDATE_REPLACE) < 0) { diff --git
a/src/modules/module-tunnel-source-new.c
b/src/modules/module-tunnel-source-new.c index 0f72dbf..d911fa9 100644
--- a/src/modules/module-tunnel-source-new.c +++
b/src/modules/module-tunnel-source-new.c @@ -477,15 +477,14 @@ int
pa__init(pa_module *m) { }
 
     remote_server = pa_modargs_get_value(ma, "server", NULL);
-    if (!remote_server) {
-        pa_log("No server given!");
-        goto fail;
-    }
+    if (!remote_server)
+        pa_log_warn("No server given. Will attempt to find one
automatically."); 
     u = pa_xnew0(struct userdata, 1);
     u->module = m;
     m->userdata = u;
-    u->remote_server = pa_xstrdup(remote_server);
+    if (remote_server)
+        u->remote_server = pa_xstrdup(remote_server);
     u->thread_mainloop = pa_mainloop_new();
     if (u->thread_mainloop == NULL) {
         pa_log("Failed to create mainloop");
@@ -502,8 +501,9 @@ int pa__init(pa_module *m) {
     pa_source_new_data_init(&source_data);
     source_data.driver = __FILE__;
     source_data.module = m;
+    source_data.namereg_fail = false;
 
-    default_source_name = pa_sprintf_malloc("tunnel-source-new.%s",
remote_server);
+    default_source_name = pa_sprintf_malloc("tunnel-source-new.%s",
remote_server ? remote_server : "auto"); source_name =
pa_modargs_get_value(ma, "source_name", default_source_name); 
     pa_source_new_data_set_name(&source_data, source_name);
@@ -514,7 +514,7 @@ int pa__init(pa_module *m) {
     pa_proplist_setf(source_data.proplist,
                      PA_PROP_DEVICE_DESCRIPTION,
                      _("Tunnel to %s/%s"),
-                     remote_server,
+                     pa_strempty(remote_server),
                      pa_strempty(u->remote_source_name));
 
     if (pa_modargs_get_proplist(ma, "source_properties",
source_data.proplist, PA_UPDATE_REPLACE) < 0) {

Patch hide | download patch | download mbox

diff --git a/src/modules/module-tunnel-sink-new.c
b/src/modules/module-tunnel-sink-new.c index 7f83543..c56654a 100644
--- a/src/modules/module-tunnel-sink-new.c
+++ b/src/modules/module-tunnel-sink-new.c
@@ -478,15 +478,14 @@  int pa__init(pa_module *m) {
     }
 
     remote_server = pa_modargs_get_value(ma, "server", NULL);
-    if (!remote_server) {
-        pa_log("No server given!");
-        goto fail;
-    }
+    if (!remote_server)
+        pa_log_warn("No server given. Will attempt to find one
automatically."); 
     u = pa_xnew0(struct userdata, 1);
     u->module = m;
     m->userdata = u;
-    u->remote_server = pa_xstrdup(remote_server);
+    if (remote_server)
+        u->remote_server = pa_xstrdup(remote_server);
     u->thread_mainloop = pa_mainloop_new();
     if (u->thread_mainloop == NULL) {
         pa_log("Failed to create mainloop");
@@ -503,8 +502,9 @@  int pa__init(pa_module *m) {
     pa_sink_new_data_init(&sink_data);
     sink_data.driver = __FILE__;
     sink_data.module = m;
+    sink_data.namereg_fail = false;
 
-    default_sink_name = pa_sprintf_malloc("tunnel-sink-new.%s",
remote_server);
+    default_sink_name = pa_sprintf_malloc("tunnel-sink-new.%s",
remote_server ? remote_server : "auto"); sink_name =
pa_modargs_get_value(ma, "sink_name", default_sink_name);