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);
openSUSE Build Service is sponsored by