|
@@ -43,6 +43,7 @@
|
|
|
|
|
|
typedef struct DBusAudio {
|
|
typedef struct DBusAudio {
|
|
GDBusObjectManagerServer *server;
|
|
GDBusObjectManagerServer *server;
|
|
|
|
+ bool p2p;
|
|
GDBusObjectSkeleton *audio;
|
|
GDBusObjectSkeleton *audio;
|
|
QemuDBusDisplay1Audio *iface;
|
|
QemuDBusDisplay1Audio *iface;
|
|
GHashTable *out_listeners;
|
|
GHashTable *out_listeners;
|
|
@@ -448,7 +449,8 @@ dbus_audio_register_listener(AudioState *s,
|
|
bool out)
|
|
bool out)
|
|
{
|
|
{
|
|
DBusAudio *da = s->drv_opaque;
|
|
DBusAudio *da = s->drv_opaque;
|
|
- const char *sender = g_dbus_method_invocation_get_sender(invocation);
|
|
|
|
|
|
+ const char *sender =
|
|
|
|
+ da->p2p ? "p2p" : g_dbus_method_invocation_get_sender(invocation);
|
|
g_autoptr(GDBusConnection) listener_conn = NULL;
|
|
g_autoptr(GDBusConnection) listener_conn = NULL;
|
|
g_autoptr(GError) err = NULL;
|
|
g_autoptr(GError) err = NULL;
|
|
g_autoptr(GSocket) socket = NULL;
|
|
g_autoptr(GSocket) socket = NULL;
|
|
@@ -591,7 +593,7 @@ dbus_audio_register_in_listener(AudioState *s,
|
|
}
|
|
}
|
|
|
|
|
|
static void
|
|
static void
|
|
-dbus_audio_set_server(AudioState *s, GDBusObjectManagerServer *server)
|
|
|
|
|
|
+dbus_audio_set_server(AudioState *s, GDBusObjectManagerServer *server, bool p2p)
|
|
{
|
|
{
|
|
DBusAudio *da = s->drv_opaque;
|
|
DBusAudio *da = s->drv_opaque;
|
|
|
|
|
|
@@ -599,6 +601,7 @@ dbus_audio_set_server(AudioState *s, GDBusObjectManagerServer *server)
|
|
g_assert(!da->server);
|
|
g_assert(!da->server);
|
|
|
|
|
|
da->server = g_object_ref(server);
|
|
da->server = g_object_ref(server);
|
|
|
|
+ da->p2p = p2p;
|
|
|
|
|
|
da->audio = g_dbus_object_skeleton_new(DBUS_DISPLAY1_AUDIO_PATH);
|
|
da->audio = g_dbus_object_skeleton_new(DBUS_DISPLAY1_AUDIO_PATH);
|
|
da->iface = qemu_dbus_display1_audio_skeleton_new();
|
|
da->iface = qemu_dbus_display1_audio_skeleton_new();
|