From 7dd172efecca315cb5dcbf2e27d06f6a72d361d1 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Thu, 22 Oct 2009 20:28:12 +0200
Subject: [PATCH] mixer/pulse: don't get volume if stream is not yet ready

Moved the check from pulse_mixer_open() to pulse_mixer_update().
---
 src/mixer/pulse_mixer_plugin.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mixer/pulse_mixer_plugin.c b/src/mixer/pulse_mixer_plugin.c
index b33ef80ae..fc0e7867a 100644
--- a/src/mixer/pulse_mixer_plugin.c
+++ b/src/mixer/pulse_mixer_plugin.c
@@ -98,7 +98,8 @@ pulse_mixer_update(struct pulse_mixer *pm)
 
 	assert(pm->output->stream != NULL);
 
-	if (pm->output->context == NULL)
+	if (pm->output->context == NULL ||
+	    pa_stream_get_state(pm->output->stream) != PA_STREAM_READY)
 		return;
 
 	o = pa_context_get_sink_input_info(pm->output->context,
@@ -243,8 +244,7 @@ pulse_mixer_open(struct mixer *data, G_GNUC_UNUSED GError **error_r)
 	struct pulse_mixer *pm = (struct pulse_mixer *) data;
 
 	pa_threaded_mainloop_lock(pm->output->mainloop);
-	if (pm->output->stream != NULL &&
-	    pa_stream_get_state(pm->output->stream) == PA_STREAM_READY)
+	if (pm->output->stream != NULL)
 		pulse_mixer_update(pm);
 	pa_threaded_mainloop_unlock(pm->output->mainloop);
 
-- 
2.24.1