]>
git.ipfire.org Git - thirdparty/shairport-sync.git/blob - audio.h
8 double current_volume_dB
;
9 int32_t minimum_volume_dB
;
10 int32_t maximum_volume_dB
;
18 int (*init
)(int argc
, char **argv
);
22 void (*start
)(int sample_rate
, int sample_format
);
25 void (*play
)(void *buf
, int samples
);
28 // may be null if not implemented
31 // returns the delay before the next frame to be sent to the device would actually be audible.
32 // almost certainly wrong if the buffer is empty, so put silent buffers into it to make it busy.
33 // will change dynamically, so keep watching it. Implemented in ALSA only.
34 // returns a negative error code if there's a problem
35 int (*delay
)(long *the_delay
); // snd_pcm_sframes_t is a signed long
37 // may be NULL, in which case soft volume is applied
38 void (*volume
)(double vol
);
40 // may be NULL, in which case soft volume parameters are used
41 void (*parameters
)(audio_parameters
*info
);
43 // may be NULL, in which case software muting is used.
44 void (*mute
)(int do_mute
);
48 audio_output
*audio_get_output(char *name
);
49 void audio_ls_outputs(void);
50 void parse_general_audio_options(void);