From 4dac3d2aee45debf137b1dfaa8751b406337ba68 Mon Sep 17 00:00:00 2001 Message-Id: <4dac3d2aee45debf137b1dfaa8751b406337ba68.1714972873.git.mdw@distorted.org.uk> From: Mark Wooding Date: Tue, 10 Jul 2007 23:23:39 +0100 Subject: [PATCH] speaker process is now more consistent about whether it's using ALSA or writing to a subprocess. Organization: Straylight/Edgeware From: rjk@greenend.org.uk <> --- server/speaker.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/server/speaker.c b/server/speaker.c index 055b08a..8d6629d 100644 --- a/server/speaker.c +++ b/server/speaker.c @@ -394,6 +394,8 @@ static int activate(void) { } return 0; } + if(config->speaker_command) + return -1; #if API_ALSA /* If we need to change format then close the current device. */ if(pcm && !formats_equal(&playing->format, &pcm_format)) @@ -555,7 +557,7 @@ static void play(size_t frames) { else avail_bytes = playing->used; - if(kidfd == -1) { + if(!config->speaker_command) { #if API_ALSA snd_pcm_sframes_t pcm_written_frames; size_t avail_frames; @@ -715,9 +717,10 @@ int main(int argc, char **argv) { alsa_slots = -1; kid_slot = -1; if(ready && !forceplay) { - if(kidfd >= 0) - kid_slot = addfd(kidfd, POLLOUT); - else { + if(config->speaker_command) { + if(kidfd >= 0) + kid_slot = addfd(kidfd, POLLOUT); + } else { #if API_ALSA int retry = 3; -- [mdw]