From 0548c564476082e4eb94ea96a629bf8427420b5e Mon Sep 17 00:00:00 2001 From: Iain Holmes Date: Fri, 12 Nov 2004 15:04:55 +0000 Subject: Added the polypaudio sink and hooked it into the build system. Original commit message from CVS: Added the polypaudio sink and hooked it into the build system. --- ext/polyp/polypsink.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 ext/polyp/polypsink.h (limited to 'ext/polyp/polypsink.h') diff --git a/ext/polyp/polypsink.h b/ext/polyp/polypsink.h new file mode 100644 index 00000000..3bcb454d --- /dev/null +++ b/ext/polyp/polypsink.h @@ -0,0 +1,59 @@ +#ifndef __GST_POLYPSINK_H__ +#define __GST_POLYPSINK_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +#define GST_TYPE_POLYPSINK \ + (gst_polypsink_get_type()) +#define GST_POLYPSINK(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_POLYPSINK,GstPolypSink)) +#define GST_POLYPSINK_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_POLYPSINK,GstPolypSinkClass)) +#define GST_IS_POLYPSINK(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_POLYPSINK)) +#define GST_IS_POLYPSINK_CLASS(obj) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_POLYPSINK)) + +typedef struct _GstPolypSink GstPolypSink; +typedef struct _GstPolypSinkClass GstPolypSinkClass; + +struct _GstPolypSink { + GstElement element; + + GstPad *sinkpad; + + char *server, *sink; + + struct pa_mainloop *mainloop; + struct pa_mainloop_api *mainloop_api; + struct pa_context *context; + struct pa_stream *stream; + struct pa_sample_spec sample_spec; + + int negotiated; + + GstBuffer *buffer; + size_t buffer_index; + + size_t counter; + pa_usec_t latency; + + gboolean caching; + char *cache_id; +}; + +struct _GstPolypSinkClass { + GstElementClass parent_class; +}; + +GType gst_polypsink_get_type(void); +gboolean gst_polypsink_factory_init(GstPlugin *plugin); + +G_END_DECLS + +#endif /* __GST_POLYPSINK_H__ */ -- cgit v1.2.1