add flush and delay functions

This commit is contained in:
Mike Brady
2014-04-30 20:29:26 +01:00
parent 4ab1c2810a
commit 459cdd94ce
+11
View File
@@ -1,6 +1,8 @@
#ifndef _AUDIO_H
#define _AUDIO_H
#include <stdint.h>
typedef struct {
void (*help)(void);
char *name;
@@ -11,9 +13,18 @@ typedef struct {
void (*deinit)(void);
void (*start)(int sample_rate);
// block of samples
void (*play)(short buf[], int samples);
void (*stop)(void);
// may be null if not implemented
void (*flush)(void);
// returns the delay before the next frame to be sent to the device would actually be audible.
// almost certainly wrong if the buffer is empty, so put silent buffers into it to make it busy.
// will change dynamically, so keep watching it. Implemented in ALSA only.
uint32_t (*delay)();
// may be NULL, in which case soft volume is applied
void (*volume)(double vol);