]> code.delx.au - pulseaudio/commitdiff
suspend-on-idle: Fix monitor source handling
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Mon, 3 Mar 2014 14:21:21 +0000 (16:21 +0200)
committerTanu Kaskinen <tanu.kaskinen@linux.intel.com>
Mon, 3 Mar 2014 14:21:21 +0000 (16:21 +0200)
Fixes a crash that happened due to calling pa_source_check_suspend()
when d->source was NULL.

src/modules/module-suspend-on-idle.c

index 959de432431ad0d843a337374eb86582043a08f5..15cbf95f020cb3310262ee4abb48e3c14b7591ab 100644 (file)
@@ -167,8 +167,15 @@ static pa_hook_result_t source_output_fixate_hook_cb(pa_core *c, pa_source_outpu
 
     if (d) {
         resume(d);
-        if (pa_source_check_suspend(d->source) <= 0)
-            restart(d);
+        if (d->source) {
+            if (pa_source_check_suspend(d->source) <= 0)
+                restart(d);
+        } else {
+            /* The source output is connected to a monitor source. */
+            pa_assert(d->sink);
+            if (pa_sink_check_suspend(d->sink) <= 0)
+                restart(d);
+        }
     }
 
     return PA_HOOK_OK;