From b3160628560add422f5c00acc2f1d97f7cc5f175 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 18 Feb 2000 18:12:50 +0000 Subject: [PATCH] Loopback API improvement - added silence block. --- include/pcm.h | 3 ++- src/pcm/pcm_loopback.c | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/pcm.h b/include/pcm.h index 2797e364..39854535 100644 --- a/include/pcm.h +++ b/include/pcm.h @@ -167,7 +167,8 @@ typedef struct snd_pcm_loopback_callbacks { void (*data) (void *private_data, char *buffer, size_t count); void (*position_change) (void *private_data, unsigned int pos); void (*format_change) (void *private_data, snd_pcm_format_t *format); - char *reserved[32]; /* reserved for the future use - must be NULL!!! */ + void (*silence) (void *private_data, size_t count); + void *reserved[31]; /* reserved for the future use - must be NULL!!! */ } snd_pcm_loopback_callbacks_t; int snd_pcm_loopback_open(snd_pcm_loopback_t **handle, int card, int device, int subdev, int mode); diff --git a/src/pcm/pcm_loopback.c b/src/pcm/pcm_loopback.c index 74b86ae8..9b07c69b 100644 --- a/src/pcm/pcm_loopback.c +++ b/src/pcm/pcm_loopback.c @@ -229,6 +229,10 @@ ssize_t snd_pcm_loopback_read(snd_pcm_loopback_t *lb, snd_pcm_loopback_callbacks callbacks->position_change(callbacks->private_data, pos); } break; + case SND_PCM_LB_TYPE_SILENCE: + if (callbacks->silence) + callbacks->silence(callbacks->private_data, header.size); + break; } } return result; -- 2.47.1