From: Jaroslav Kysela Date: Fri, 18 Feb 2000 18:12:50 +0000 (+0000) Subject: Loopback API improvement - added silence block. X-Git-Tag: v1.0.3~1320 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=b3160628560add422f5c00acc2f1d97f7cc5f175;p=alsa-lib.git Loopback API improvement - added silence block. --- 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;