summaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authorGerd Hoffmann2019-01-24 12:20:53 +0100
committerGerd Hoffmann2019-01-24 13:11:08 +0100
commitd175505bd68dc35150664a50f51eb9ec1eeee333 (patch)
tree0d83eeb84cd9f3373f316ea498200af1d936ea2c /audio
parentaudio: use try-sdl for openbsd (diff)
downloadqemu-d175505bd68dc35150664a50f51eb9ec1eeee333.tar.gz
qemu-d175505bd68dc35150664a50f51eb9ec1eeee333.tar.xz
qemu-d175505bd68dc35150664a50f51eb9ec1eeee333.zip
audio: check for pulseaudio daemon pidfile
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
Diffstat (limited to 'audio')
-rw-r--r--audio/paaudio.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/audio/paaudio.c b/audio/paaudio.c
index 4c100bc318..6153b908da 100644
--- a/audio/paaudio.c
+++ b/audio/paaudio.c
@@ -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;