[Qemu-devel] [PATCH v2 4/6] audio: check for pulseaudio daemon pidfile

Gerd Hoffmann posted 6 patches 5 years, 5 months ago
Maintainers: Brad Smith <brad@comstyle.com>, Gerd Hoffmann <kraxel@redhat.com>
There is a newer version of this series
[Qemu-devel] [PATCH v2 4/6] audio: check for pulseaudio daemon pidfile
Posted by Gerd Hoffmann 5 years, 5 months ago
Check whenever the pulseaudio daemon pidfile is present before trying to
initialize the pulseaudio backend.  Just return NULL if that is not the
case, so qemu will check the next backend in line.

In case the user explicitly configured a non-default pulseaudio server
skip the check.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 audio/paaudio.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/audio/paaudio.c b/audio/paaudio.c
index 4c100bc318..3c5cae8851 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
@@ -814,6 +814,19 @@ static PAConf glob_conf = {
 
 static void *qpa_audio_init (void)
 {
+    if (glob_conf.server == NULL) {
+        char pidfile[64];
+        char *runtime;
+        struct stat st;
+
+        runtime = getenv("XDG_RUNTIME_DIR");
+        if (!runtime)
+            return NULL;
+        snprintf(pidfile, sizeof(pidfile), "%s/pulse/pid", runtime);
+        if (stat(pidfile, &st) != 0)
+            return NULL;
+    }
+
     paaudio *g = g_malloc(sizeof(paaudio));
     g->conf = glob_conf;
     g->mainloop = NULL;
-- 
2.9.3