From: Jaroslav Kysela Date: Fri, 20 Aug 1999 20:16:46 +0000 (+0000) Subject: Fixes for PCM loopback.. X-Git-Tag: v1.0.3~1445 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=b38a572356ef8fdb346467233a990570561bfb67;p=alsa-lib.git Fixes for PCM loopback.. --- diff --git a/include/pcm.h b/include/pcm.h index 73856f60..69707810 100644 --- a/include/pcm.h +++ b/include/pcm.h @@ -49,7 +49,7 @@ ssize_t snd_pcm_read(snd_pcm_t *handle, void *buffer, size_t size); extern "C" { #endif -int snd_pcm_loopback_open(snd_pcm_loopback_t **handle, int card, int device, int mode); +int snd_pcm_loopback_open(snd_pcm_loopback_t **handle, int card, int device, int subchn, int mode); int snd_pcm_loopback_close(snd_pcm_loopback_t *handle); int snd_pcm_loopback_file_descriptor(snd_pcm_loopback_t *handle); int snd_pcm_loopback_block_mode(snd_pcm_loopback_t *handle, int enable); diff --git a/src/pcm/pcm_loopback.c b/src/pcm/pcm_loopback.c index 3da41c7b..d9b03545 100644 --- a/src/pcm/pcm_loopback.c +++ b/src/pcm/pcm_loopback.c @@ -28,7 +28,7 @@ #include #include "asoundlib.h" -#define SND_FILE_PCM_LB "/proc/asound/%i/pcm%i%s" +#define SND_FILE_PCM_LB "/proc/asound/%i/pcmloopD%iS%i%s" #define SND_PCM_LB_VERSION_MAX SND_PROTOCOL_VERSION( 1, 0, 0 ) struct snd_pcm_loopback { @@ -37,7 +37,7 @@ struct snd_pcm_loopback { int fd; } ; -int snd_pcm_loopback_open(snd_pcm_loopback_t **handle, int card, int device, int mode) +int snd_pcm_loopback_open(snd_pcm_loopback_t **handle, int card, int device, int subchn, int mode) { int fd, ver; char filename[32]; @@ -47,8 +47,8 @@ int snd_pcm_loopback_open(snd_pcm_loopback_t **handle, int card, int device, int if (card < 0 || card >= SND_CARDS) return -EINVAL; - sprintf(filename, SND_FILE_PCM_LB, card, device, - mode == SND_PCM_LB_OPEN_CAPTURE ? "r" : "p"); + sprintf(filename, SND_FILE_PCM_LB, card, device, subchn, + mode == SND_PCM_LB_OPEN_CAPTURE ? "c" : "p"); if ((fd = open(filename, mode)) < 0) { snd_card_load(card); if ((fd = open(filename, mode)) < 0)