File alsa-plugins-hg-fixes.diff of Package alsa-plugins
diff -r 0fc727fc959d pulse/pcm_pulse.c
--- a/pulse/pcm_pulse.c Tue Feb 05 10:08:10 2008 +0100
+++ b/pulse/pcm_pulse.c Mon Mar 10 13:17:24 2008 +0100
@@ -73,9 +73,10 @@ static int pulse_start(snd_pcm_ioplug_t
assert(pcm);
assert(pcm->p);
+ if (pcm->stream == NULL)
+ return 0;
+
pa_threaded_mainloop_lock(pcm->p->mainloop);
-
- assert(pcm->stream);
err = pulse_check_connection(pcm->p);
if (err < 0)
@@ -112,10 +113,12 @@ static int pulse_stop(snd_pcm_ioplug_t *
pa_threaded_mainloop_lock(pcm->p->mainloop);
- assert(pcm->stream);
-
err = pulse_check_connection(pcm->p);
if (err < 0)
+ goto finish;
+
+ /* If stream connection fails, this gets called anyway */
+ if (pcm->stream == NULL)
goto finish;
o = pa_stream_flush(pcm->stream, pulse_stream_success_cb, pcm->p);