summaryrefslogtreecommitdiffstats
path: root/src/common.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-10-01 20:16:28 +0000
committerLennart Poettering <lennart@poettering.net>2007-10-01 20:16:28 +0000
commit7d83e5c7816b5e343695a75ba58b32dbe1be969a (patch)
treebfd1dfc9b7c8f4a2aaf66c1b30e78355dee8c88a /src/common.h
parent762196328ab7e60f1d2908fd5a337d2ca99726dd (diff)
move all sources down to a seperate src/ tree
git-svn-id: file:///home/lennart/svn/public/libsydney/trunk@34 9ba3c220-e4d3-45a2-8aa3-73fcc9aff6ce
Diffstat (limited to 'src/common.h')
-rw-r--r--src/common.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/common.h b/src/common.h
new file mode 100644
index 0000000..b5f316c
--- /dev/null
+++ b/src/common.h
@@ -0,0 +1,67 @@
+#ifndef foocommonh
+#define foocommonh
+
+#include "sydney.h"
+#include "mutex.h"
+
+#define _META_NAMES_MAX 9
+
+typedef struct sa_pcm_attrs {
+ sa_pcm_format_t format;
+ unsigned rate;
+ unsigned nchannels;
+ sa_channel_t *channel_map;
+} pcm_attrs_t;
+
+struct sa_stream {
+ sa_mode_t mode;
+
+ pcm_attrs_t pcm_attrs;
+ size_t pcm_sample_size;
+ size_t pcm_frame_size;
+
+ char *codec;
+
+ size_t read_lower_watermark;
+ size_t read_upper_watermark;
+ size_t write_lower_watermark;
+ size_t write_upper_watermark;
+
+ sa_xrun_mode_t xrun_mode;
+ int ni_enabled;
+ int dynamic_rate_enabled;
+
+ sa_event_callback_t event_callback;
+
+ char *device;
+ char *driver;
+
+ int32_t *read_volume;
+ int32_t *write_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_adjust_t adjust_watermarks;
+
+ sa_error_t error;
+ sa_notify_t notify;
+ sa_event_t event;
+
+ void *private; /* driver specific data */
+
+ void *meta_data[_META_NAMES_MAX];
+ size_t meta_data_size[_META_NAMES_MAX];
+
+ sa_mutex_t *mutex;
+
+ sa_event_callback_t callback;
+};
+
+size_t sa_get_pcm_sample_size(sa_pcm_format_t f);
+
+#endif