[pulseaudio-commits] src/modules

Tanu Kaskinen tanuk at kemper.freedesktop.org
Sun Sep 29 09:48:45 PDT 2013


 src/modules/bluetooth/module-bluez5-device.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

New commits:
commit 189708a59715568b05f04e3078e303dbe770b813
Author: Tanu Kaskinen <tanu.kaskinen at linux.intel.com>
Date:   Sun Sep 29 19:47:16 2013 +0300

    bluetooth: Add a comment about messing with the IDLE suspend cause

diff --git a/src/modules/bluetooth/module-bluez5-device.c b/src/modules/bluetooth/module-bluez5-device.c
index 013cce5..df08d62 100644
--- a/src/modules/bluetooth/module-bluez5-device.c
+++ b/src/modules/bluetooth/module-bluez5-device.c
@@ -1699,11 +1699,21 @@ static void handle_transport_state_change(struct userdata *u, struct pa_bluetoot
     if (acquire && transport_acquire(u, true) >= 0) {
         if (u->source) {
             pa_log_debug("Resuming source %s because its transport state changed to playing", u->source->name);
+
+            /* We remove the IDLE suspend cause, because otherwise
+             * module-loopback doesn't uncork its streams. FIXME: Messing with
+             * the IDLE suspend cause here is wrong, the correct way to handle
+             * this would probably be to uncork the loopback streams not only
+             * when the other end is unsuspended, but also when the other end's
+             * suspend cause changes to IDLE only (currently there's no
+             * notification mechanism for suspend cause changes, though). */
             pa_source_suspend(u->source, false, PA_SUSPEND_IDLE|PA_SUSPEND_USER);
         }
 
         if (u->sink) {
             pa_log_debug("Resuming sink %s because its transport state changed to playing", u->sink->name);
+
+            /* FIXME: See the previous comment. */
             pa_sink_suspend(u->sink, false, PA_SUSPEND_IDLE|PA_SUSPEND_USER);
         }
     }



More information about the pulseaudio-commits mailing list