SHA256
1
0
forked from pool/alsa-utils
alsa-utils/0020-alsaloop-fix-a-option-and-slave-mode-processing.patch

86 lines
3.1 KiB
Diff
Raw Normal View History

From 5ad13c4825085ac28ed12afb0daf73c315fe0ed6 Mon Sep 17 00:00:00 2001
From: Jaroslav Kysela <perex@perex.cz>
Date: Wed, 6 Oct 2010 20:34:03 +0200
Subject: [PATCH 20/38] alsaloop: fix -a option and slave mode processing
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
---
alsaloop/alsaloop.c | 4 ++--
alsaloop/pcmjob.c | 3 +++
alsaloop/test.sh | 18 +++++++++---------
3 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/alsaloop/alsaloop.c b/alsaloop/alsaloop.c
index 743e0ef..48bd21a 100644
--- a/alsaloop/alsaloop.c
+++ b/alsaloop/alsaloop.c
@@ -424,9 +424,9 @@ static int parse_config(int argc, char *argv[], snd_output_t *output)
case 'a':
if (optarg[0] == 'a')
arg_slave = SLAVE_TYPE_AUTO;
- else if (strcasecmp(optarg, "off"))
+ else if (strcasecmp(optarg, "on") == 0)
arg_slave = SLAVE_TYPE_ON;
- else if (strcasecmp(optarg, "on"))
+ else if (strcasecmp(optarg, "off") == 0)
arg_slave = SLAVE_TYPE_OFF;
else
arg_slave = atoi(optarg);
diff --git a/alsaloop/pcmjob.c b/alsaloop/pcmjob.c
index 47256e0..51d9ea6 100644
--- a/alsaloop/pcmjob.c
+++ b/alsaloop/pcmjob.c
@@ -1432,6 +1432,8 @@ int pcmjob_pollfds_handle(struct loopback *loop, struct pollfd *fds)
}
if (verbose > 9)
snd_output_printf(loop->output, "%s: prevents = 0x%x, crevents = 0x%x\n", loop->id, prevents, crevents);
+ if (prevents == 0 && crevents == 0)
+ goto __pcm_end;
do {
ccount = readit(capt);
buf_add(loop, ccount);
@@ -1520,6 +1522,7 @@ int pcmjob_pollfds_handle(struct loopback *loop, struct pollfd *fds)
else
snd_output_printf(loop->output, "%s: end delay %li\n", capt->id, cdelay);
}
+ __pcm_end:
if (verbose > 13) {
getcurtimestamp(&loop->tstamp_end);
snd_output_printf(loop->output, "%s: processing time %lius\n", capt->id, timediff(loop->tstamp_end, loop->tstamp_start));
diff --git a/alsaloop/test.sh b/alsaloop/test.sh
index bc42480..a1d4dbe 100755
--- a/alsaloop/test.sh
+++ b/alsaloop/test.sh
@@ -28,19 +28,19 @@ EOF
}
test3() {
- echo "TEST2"
+ echo "TEST3"
cat > $CFGFILE <<EOF
--C hw:1,0,0 -P dmix:0 --tlatency 50000 --thread 0 \
+-C hw:1,0,0 -P plug:dmix:0 --tlatency 50000 --thread 0 \
--mixer "name='Master Playback Volume'@name='Master Playback Volume'" \
--mixer "name='Master Playback Switch'@name='Master Playback Switch'" \
--mixer "name='PCM Playback Volume'"
--C hw:1,0,1 -P dmix:0 --tlatency 50000 --thread 1
--C hw:1,0,2 -P dmix:0 --tlatency 50000 --thread 2
--C hw:1,0,3 -P dmix:0 --tlatency 50000 --thread 3
--C hw:1,0,4 -P dmix:0 --tlatency 50000 --thread 4
--C hw:1,0,5 -P dmix:0 --tlatency 50000 --thread 5
--C hw:1,0,6 -P dmix:0 --tlatency 50000 --thread 6
--C hw:1,0,7 -P dmix:0 --tlatency 50000 --thread 7
+-C hw:1,0,1 -P plug:dmix:0 --tlatency 50000 --thread 1
+-C hw:1,0,2 -P plug:dmix:0 --tlatency 50000 --thread 2
+-C hw:1,0,3 -P plug:dmix:0 --tlatency 50000 --thread 3
+-C hw:1,0,4 -P plug:dmix:0 --tlatency 50000 --thread 4
+-C hw:1,0,5 -P plug:dmix:0 --tlatency 50000 --thread 5
+-C hw:1,0,6 -P plug:dmix:0 --tlatency 50000 --thread 6
+-C hw:1,0,7 -P plug:dmix:0 --tlatency 50000 --thread 7
EOF
$DBG ./alsaloop --config $CFGFILE
}
--
1.7.3.1