From e8d37e36f8b97fcc29c8f67d38f0cd5d48ec9d3f Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Fri, 21 Jun 2013 12:32:46 +0200 Subject: import --- galsa.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 galsa.h (limited to 'galsa.h') diff --git a/galsa.h b/galsa.h new file mode 100644 index 0000000..5f5da40 --- /dev/null +++ b/galsa.h @@ -0,0 +1,49 @@ +#ifndef _GALSA_H +#define _GALSA_H + +#include +#include + +typedef short sample; + +enum dev_runstate { + DEV_OPEN, + DEV_RUNNING, + DEV_STOPREQ, +}; +enum qe_message { + QE_DATA, + QE_ERROR, + QE_STOPPED, +}; + +struct device { + char *path; + unsigned rate; + int chan; + snd_pcm_t *handle; + GAsyncQueue *queue; + size_t pktsize; + + GThread *thread; + enum dev_runstate state; +}; + +struct qe { + enum qe_message message; + int errcode; + char *errp; + + ssize_t size; + sample samples[]; +}; + +extern struct device *device_open(const char *path, + unsigned rate, int chan, size_t pktsize); +extern void device_start(struct device *dev); +extern void device_stop(struct device *dev); +extern void device_stop_wait(struct device *dev); +extern void device_stop_done(struct device *dev); +extern void device_close(struct device *dev); + +#endif -- cgit v1.2.1