summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2007-11-12 12:33:31 +0100
committerTakashi Iwai <tiwai@suse.de>2007-11-12 12:33:31 +0100
commitc1027970c49988368a46d887dc7f608d53b14d90 (patch)
tree029accfbba3d7d36973984b0a857c74d4056670c
parent9883345a35b5a146c917c5df7e15430b2d500190 (diff)
Fix wrong assert in pulse plugin
assert(!pcm->stream) shouldn't be checked when the PCM state is SETUP, too (ALSA bug#3470). The original patch by Mike Gorse <mgorse@mgorse.dhs.org>
-rw-r--r--pulse/pcm_pulse.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c
index 7d8f59e..67f97b5 100644
--- a/pulse/pcm_pulse.c
+++ b/pulse/pcm_pulse.c
@@ -497,8 +497,16 @@ static int pulse_hw_params(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params)
assert(pcm->p);
//Resolving bugtrack ID 0003470
- if(!(base && snd_pcm_state(base) == SND_PCM_STATE_PREPARED))
- assert(!pcm->stream);
+ if (!base) {
+ switch (snd_pcm_state(base)) {
+ case SND_PCM_STATE_SETUP:
+ case SND_PCM_STATE_PREPARED:
+ break;
+ default:
+ assert(!pcm->stream);
+ break;
+ }
+ }
pa_threaded_mainloop_lock(pcm->p->mainloop);