diff options
author | Balamurali Viswanathan <balamurali.viswanathan@wipro.com> | 2004-08-18 04:52:41 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2004-08-18 04:52:41 +0000 |
commit | f1ffa33d9ec0155ab660dc1a5f6ed40ce3f73abf (patch) | |
tree | e83edfbf7898807c322b83294b91a0cc863fca73 /sys/sunaudio/gstsunelement.h | |
parent | 98f3784bf6adf36778db5ce44e9dd92474281ea8 (diff) | |
download | gst-plugins-bad-f1ffa33d9ec0155ab660dc1a5f6ed40ce3f73abf.tar.gz gst-plugins-bad-f1ffa33d9ec0155ab660dc1a5f6ed40ce3f73abf.tar.bz2 gst-plugins-bad-f1ffa33d9ec0155ab660dc1a5f6ed40ce3f73abf.zip |
sys/sunaudio/: Fix caps to handle full range of rates and channels. Make debugging less obnoxious.
Original commit message from CVS:
* sys/sunaudio/Makefile.am:
* sys/sunaudio/gstsunaudio.c: Fix caps to handle full range
of rates and channels. Make debugging less obnoxious.
Patch from Balamurali Viswanathan implementing a mixer for
Sun audio. (bug #144091):
* sys/sunaudio/gstsunelement.c:
* sys/sunaudio/gstsunelement.h:
* sys/sunaudio/gstsunmixer.c:
* sys/sunaudio/gstsunmixer.h:
Diffstat (limited to 'sys/sunaudio/gstsunelement.h')
-rw-r--r-- | sys/sunaudio/gstsunelement.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/sys/sunaudio/gstsunelement.h b/sys/sunaudio/gstsunelement.h new file mode 100644 index 00000000..86d5ca93 --- /dev/null +++ b/sys/sunaudio/gstsunelement.h @@ -0,0 +1,63 @@ +#ifndef __GST_SUNAUDIO_ELEMENT_H__ +#define __GST_SUNAUDIO_ELEMENT_H__ + +#include <gst/gst.h> + +G_BEGIN_DECLS + +#define GST_TYPE_SUNAUDIOELEMENT \ + (gst_sunaudioelement_get_type()) +#define GST_SUNAUDIOELEMENT(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SUNAUDIOELEMENT,GstSunAudioElement)) +#define GST_SUNAUDIOELEMENT_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SUNAUDIOELEMENT,GstSunAudioElementClass)) +#define GST_IS_SUNAUDIOELEMENT(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SUNAUDIOELEMENT)) +#define GST_IS_SUNAUDIOELEMENT_CLASS(obj) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SUNAUDIOELEMENT)) +#define GST_SUNAUDIOELEMENT_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_SUNAUDIOELEMENT, GstSunAudioElementClass)) + +typedef enum { + GST_SUNAUDIOELEMENT_READ, + GST_SUNAUDIOELEMENT_WRITE, +} GstSunAudioOpenMode; + + +struct _GstSunAudioElement +{ + /* yes, we're a gstelement too */ + GstElement parent; + + gchar *device, + *mixer_dev; + + /* device state */ + int fd; + GstSunAudioOpenMode mode; + + /* mixer stuff */ + GList *tracklist; + gint mixer_fd; + gchar *device_name; +}; + +struct _GstSunAudioElementClass { + GstElementClass klass; + + GList *device_combinations; +}; + +typedef struct _GstSunAudioDeviceCombination { + gchar *mixer; + dev_t dev; +} GstSunAudioDeviceCombination; + +typedef struct _GstSunAudioElement GstSunAudioElement; +typedef struct _GstSunAudioElementClass GstSunAudioElementClass; + +GType gst_sunaudioelement_get_type (void); + +G_END_DECLS + +#endif |