[alsa-devel] Recording problem with pulse plugin
Takashi Iwai
tiwai at suse.de
Wed Oct 15 12:14:19 CEST 2008
Hi Lennart,
I got a bug report about the recording with pulse alsa-plugin.
It gets just -EIO error.
I checked it, and can reproduce it actually. The problem appears to
happen since 1.0.18rc1, and the affecting commit is:
commit 90c32999189cf6f5c63f40dadb8076eca379713b
Author: Lennart Poettering <mznyfn at 0pointer.de>
Date: Fri Jul 18 21:45:47 2008 +0200
send both an uncork and a trigger in _start()
The problem is that pa_stream_trigger() returns NULL for capture.
I made a quick fix for this (the patch attached below), but not
entirely sure whether it's the right thing. Please check.
thanks,
Takashi
diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c
index a5f794f..3d15ff0 100644
--- a/pulse/pcm_pulse.c
+++ b/pulse/pcm_pulse.c
@@ -145,18 +145,15 @@ static int pulse_start(snd_pcm_ioplug_t * io)
u = pa_stream_trigger(pcm->stream, pulse_stream_success_cb,
pcm->p);
- if (!u) {
- pa_operation_unref(o);
- err = -EIO;
- goto finish;
- }
pcm->underrun = 0;
err_o = pulse_wait_operation(pcm->p, o);
- err_u = pulse_wait_operation(pcm->p, u);
+ if (u)
+ err_u = pulse_wait_operation(pcm->p, u);
pa_operation_unref(o);
- pa_operation_unref(u);
+ if (u)
+ pa_operation_unref(u);
if (err_o < 0 || err_u < 0) {
err = -EIO;
More information about the Alsa-devel
mailing list