[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 03/18] audio/dbus: there are no sender for p2p mode
From: |
marcandre . lureau |
Subject: |
[PULL v2 03/18] audio/dbus: there are no sender for p2p mode |
Date: |
Tue, 14 Mar 2023 00:01:19 +0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
audio/audio_int.h | 2 +-
audio/dbusaudio.c | 7 +++++--
ui/dbus.c | 2 +-
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/audio/audio_int.h b/audio/audio_int.h
index d51d63f08d..e57ff50155 100644
--- a/audio/audio_int.h
+++ b/audio/audio_int.h
@@ -143,7 +143,7 @@ struct audio_driver {
void *(*init) (Audiodev *);
void (*fini) (void *);
#ifdef CONFIG_GIO
- void (*set_dbus_server) (AudioState *s, GDBusObjectManagerServer *manager);
+ void (*set_dbus_server) (AudioState *s, GDBusObjectManagerServer *manager,
bool p2p);
#endif
struct audio_pcm_ops *pcm_ops;
int can_be_default;
diff --git a/audio/dbusaudio.c b/audio/dbusaudio.c
index 722df0355e..fece74f78c 100644
--- a/audio/dbusaudio.c
+++ b/audio/dbusaudio.c
@@ -43,6 +43,7 @@
typedef struct DBusAudio {
GDBusObjectManagerServer *server;
+ bool p2p;
GDBusObjectSkeleton *audio;
QemuDBusDisplay1Audio *iface;
GHashTable *out_listeners;
@@ -448,7 +449,8 @@ dbus_audio_register_listener(AudioState *s,
bool out)
{
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(GError) err = NULL;
g_autoptr(GSocket) socket = NULL;
@@ -591,7 +593,7 @@ dbus_audio_register_in_listener(AudioState *s,
}
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;
@@ -599,6 +601,7 @@ dbus_audio_set_server(AudioState *s,
GDBusObjectManagerServer *server)
g_assert(!da->server);
da->server = g_object_ref(server);
+ da->p2p = p2p;
da->audio = g_dbus_object_skeleton_new(DBUS_DISPLAY1_AUDIO_PATH);
da->iface = qemu_dbus_display1_audio_skeleton_new();
diff --git a/ui/dbus.c b/ui/dbus.c
index f2dcba03d0..f529928f0b 100644
--- a/ui/dbus.c
+++ b/ui/dbus.c
@@ -220,7 +220,7 @@ dbus_display_complete(UserCreatable *uc, Error **errp)
dd->audiodev);
return;
}
- audio_state->drv->set_dbus_server(audio_state, dd->server);
+ audio_state->drv->set_dbus_server(audio_state, dd->server, dd->p2p);
}
consoles = g_array_new(FALSE, FALSE, sizeof(guint32));
--
2.39.2
- [PULL v2 00/18] Display patches, marcandre . lureau, 2023/03/13
- [PULL v2 01/18] ui/dbus: initialize cursor_fb, marcandre . lureau, 2023/03/13
- [PULL v2 02/18] ui/dbus: unregister clipboard on connection close, marcandre . lureau, 2023/03/13
- [PULL v2 03/18] audio/dbus: there are no sender for p2p mode,
marcandre . lureau <=
- [PULL v2 04/18] ui/dbus: set mouse is-absolute during console creation, marcandre . lureau, 2023/03/13
- [PULL v2 05/18] meson: ensure dbus-display generated code is built before other units, marcandre . lureau, 2023/03/13
- [PULL v2 06/18] ui: rename cursor_{put->unref}, marcandre . lureau, 2023/03/13
- [PULL v2 07/18] ui: rename cursor_{get->ref}, return it, marcandre . lureau, 2023/03/13
- [PULL v2 08/18] ui: keep current cursor with QemuConsole, marcandre . lureau, 2023/03/13
- [PULL v2 10/18] ui: set cursor position upon listener registration, marcandre . lureau, 2023/03/13
- [PULL v2 11/18] ui/sdl: get the GL context from the window, marcandre . lureau, 2023/03/13
- [PULL v2 09/18] ui: set cursor upon listener registration, marcandre . lureau, 2023/03/13
- [PULL v2 12/18] ui/shader: fix #version directive must occur on first line, marcandre . lureau, 2023/03/13