]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Loopback API improvement - added silence block.
authorJaroslav Kysela <perex@perex.cz>
Fri, 18 Feb 2000 18:12:50 +0000 (18:12 +0000)
committerJaroslav Kysela <perex@perex.cz>
Fri, 18 Feb 2000 18:12:50 +0000 (18:12 +0000)
include/pcm.h
src/pcm/pcm_loopback.c

index 2797e364cc916de0957fd304be9e730d78964119..39854535dceb436ef804db34ddc1edc7816feda7 100644 (file)
@@ -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);
index 74b86ae815e3a5fc7c5c4b20b74b9f771e203f1c..9b07c69b9dd3039d18e8779c7009fbe3d471e865 100644 (file)
@@ -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;