From 2eb6dec8e9f0114bdbad59cf8f11f197f8fdaaf3 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 25 Apr 2007 10:27:13 +0000 Subject: initial commit git-svn-id: file:///home/lennart/svn/public/libsydney/trunk@3 9ba3c220-e4d3-45a2-8aa3-73fcc9aff6ce --- common.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 common.h (limited to 'common.h') diff --git a/common.h b/common.h new file mode 100644 index 0000000..1500ef1 --- /dev/null +++ b/common.h @@ -0,0 +1,58 @@ +#ifndef foocommonh +#define foocommonh + +#include "sydney.h" + +#define elementsof(x) (sizeof(x)/sizeof((x)[0])) + +struct sa_device { + sa_mode_t mode; + + sa_pcm_format_t pcm_format; + unsigned rate; + unsigned nchannels; + + char *codec; + + char *client_name; + char *stream_name; + + size_t read_lower_watermark; + size_t read_upper_watermark; + size_t write_lower_watermark; + size_t write_upper_watermark; + + sa_channel_t *channel_map; + + sa_xrun_mode_t xrun_mode; + int ni_enabled; + int dsr_enabled; + + sa_event_callback_t event_callback; + + char *device; + char *driver; + + int input_volume; + int output_volume; + + void *user_data; + + sa_state_t state; + + sa_adjust_t adjust_rate; + sa_adjust_t adjust_nchannels; + sa_adjust_t adjust_pcm_format; + + sa_error_t error; + sa_notify_t notify; + sa_event_t event; +}; + +sa_device_t *device_alloc(size_t total); +void device_free(sa_device_t *d); + +int device_alloc_pcm(sa_device_t **dev, size_t total, const char *client_name, sa_mode_t mode, sa_pcm_format_t format, unsigned rate, unsigned channels); +int device_alloc_opaque(sa_device_t **dev, size_t total, const char *client_name, sa_mode_t mode, const char *codec); + +#endif -- cgit