]> git.proxmox.com Git - mirror_qemu.git/commitdiff
audio: check for pulseaudio daemon pidfile
authorGerd Hoffmann <kraxel@redhat.com>
Thu, 24 Jan 2019 11:20:53 +0000 (12:20 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 24 Jan 2019 12:11:08 +0000 (13:11 +0100)
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>
Message-id: 20190124112055.547-5-kraxel@redhat.com

audio/paaudio.c

index 4c100bc3183da3ba77d1c7dfacdad34797eb441a..6153b908dae1d17d4735d7a285ce1094ba34a237 100644 (file)
@@ -814,6 +814,21 @@ 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;