From: Seungbae Shin Date: Thu, 20 Aug 2020 06:17:38 +0000 (+0900) Subject: stream-manager-dbus: launch mdnsd when remote publish/discover X-Git-Tag: submit/tizen/20200821.074009~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4473003cc7c2986bacd2f951cc1ac3dab1ab6a15;p=platform%2Fcore%2Fmultimedia%2Fpulseaudio-modules-tizen.git stream-manager-dbus: launch mdnsd when remote publish/discover [Version] 13.0.28 [Issue Type] Update Change-Id: I0a63ba5c5636e249f640337b25bfd698c18311d9 --- diff --git a/packaging/pulseaudio-modules-tizen.spec b/packaging/pulseaudio-modules-tizen.spec index bb99b51..441a781 100644 --- a/packaging/pulseaudio-modules-tizen.spec +++ b/packaging/pulseaudio-modules-tizen.spec @@ -1,6 +1,6 @@ Name: pulseaudio-modules-tizen Summary: Pulseaudio modules for Tizen -Version: 13.0.27 +Version: 13.0.28 Release: 0 Group: Multimedia/Audio License: LGPL-2.1+ diff --git a/src/stream-manager-dbus.c b/src/stream-manager-dbus.c index 0367446..c365345 100644 --- a/src/stream-manager-dbus.c +++ b/src/stream-manager-dbus.c @@ -2349,6 +2349,38 @@ static void handle_get_ducking_state(DBusConnection *conn, DBusMessage *msg, voi dbus_message_unref(reply); } +static int dbus_launch_mdnsd(pa_stream_manager *m, DBusConnection *conn) { + DBusMessage *msg, *reply; + DBusError err; + const char *name = NULL; + + pa_log_info("launching mdnsd"); + + if (!(msg = dbus_message_new_method_call("net.netconfig", + "/net/netconfig/network", + "net.netconfig.network", + "LaunchMdns"))) { + pa_log_error("dbus method call failed"); + return -1; + } + + name = dbus_bus_get_unique_name(conn); + pa_assert_se(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID)); + + dbus_error_init(&err); + if (!(reply = dbus_connection_send_with_reply_and_block(conn, msg, -1, &err))) { + pa_log_error("Failed to method call : %s", err.message); + dbus_error_free(&err); + return -1; + } + + dbus_message_unref(reply); + + pa_log_info("success"); + + return 0; +} + static void handle_set_remote_permission(DBusConnection *conn, DBusMessage *msg, void *userdata) { pa_stream_manager *m = (pa_stream_manager*)userdata; dbus_uint32_t index; @@ -2444,6 +2476,11 @@ static void handle_discover_remote_device(DBusConnection *conn, DBusMessage *msg goto error; } + if (dbus_launch_mdnsd(m, conn) == -1) { + pa_log_error("failed to launch mdnsd!!!"); + goto error; + } + if (pa_module_load(&module, m->core, "module-tizenaudio-discover", NULL)) { pa_log_error("failed to load module"); goto error; @@ -2486,6 +2523,11 @@ static void handle_publish_local_device(DBusConnection *conn, DBusMessage *msg, goto error; } + if (dbus_launch_mdnsd(m, conn) == -1) { + pa_log_error("failed to launch mdnsd!!!"); + goto error; + } + if (pa_module_load(&module, m->core, "module-native-protocol-tcp", "auth-anonymous=1")) { pa_log_error("failed to load module"); goto error;