]> code.delx.au - pulseaudio/commitdiff
fix device reservation for system mode
authorLennart Poettering <lennart@poettering.net>
Tue, 3 Mar 2009 21:26:15 +0000 (22:26 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 3 Mar 2009 21:27:05 +0000 (22:27 +0100)
src/modules/alsa/alsa-sink.c
src/modules/alsa/alsa-source.c
src/modules/alsa/module-alsa-card.c

index c8e12f9c337a3ce3d41dd1e4a5af0a6f74c88808..bfe4f3bc11540601673e8f18b2adbe20149197fa 100644 (file)
@@ -164,6 +164,9 @@ static int reserve_init(struct userdata *u, const char *dname) {
     if (u->reserve)
         return 0;
 
+    if (pa_in_system_mode())
+        return 0;
+
     /* We are resuming, try to lock the device */
     if (!(rname = pa_alsa_get_reserve_name(dname)))
         return 0;
index ed9388ec104f88755958230e6f4e6d877e3618b1..04cb262175cc55633ad0c9d32a729e74fd693382 100644 (file)
@@ -162,6 +162,9 @@ static int reserve_init(struct userdata *u, const char *dname) {
     if (u->reserve)
         return 0;
 
+    if (pa_in_system_mode())
+        return 0;
+
     /* We are resuming, try to lock the device */
     if (!(rname = pa_alsa_get_reserve_name(dname)))
         return 0;
index 22f0ae0a25e368b80b0e8fa5af32361e155b2898..d5e2cdc296eb163fafe4e5c47223e68d8985f586 100644 (file)
@@ -310,8 +310,9 @@ int pa__init(pa_module *m) {
 
     pa_snprintf(rname, sizeof(rname), "Audio%i", alsa_card_index);
 
-    if (!(reserve = pa_reserve_wrapper_get(m->core, rname)))
-        goto fail;
+    if (!pa_in_system_mode())
+        if (!(reserve = pa_reserve_wrapper_get(m->core, rname)))
+            goto fail;
 
     pa_card_new_data_init(&data);
     data.driver = __FILE__;