summaryrefslogtreecommitdiffstats
path: root/src/sink.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-06-08 23:54:24 +0000
committerLennart Poettering <lennart@poettering.net>2004-06-08 23:54:24 +0000
commit9cb0b933e260008c6a03e24a4a149f726b8d86b2 (patch)
treeb54651bafe32d1a817e779f884d1628176465bf0 /src/sink.h
parentb1c00dcd0ae51d201f772e7f5fa61acae436a2cf (diff)
initial commit
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@3 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/sink.h')
-rw-r--r--src/sink.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/sink.h b/src/sink.h
new file mode 100644
index 00000000..a6f98005
--- /dev/null
+++ b/src/sink.h
@@ -0,0 +1,38 @@
+#ifndef foosinkhfoo
+#define foosinkhfoo
+
+struct sink;
+
+#include <inttypes.h>
+
+#include "core.h"
+#include "sample.h"
+#include "idxset.h"
+#include "source.h"
+
+struct sink {
+ char *name;
+ uint32_t index;
+
+ struct core *core;
+ struct sample_spec sample_spec;
+ struct idxset *input_streams;
+
+ struct source *monitor_source;
+
+ uint8_t volume;
+
+ void (*notify_callback)(struct sink*sink, void *userdata);
+ void *userdata;
+};
+
+struct sink* sink_new(struct core *core, const char *name, const struct sample_spec *spec);
+void sink_free(struct sink* s);
+
+int sink_render(struct sink*s, size_t length, struct memchunk *result);
+int sink_render_into(struct sink*s, struct memblock *target, struct memchunk *result);
+
+void sink_notify(struct sink*s);
+void sink_set_notify_callback(struct sink *s, void (*notify_callback)(struct sink*sink, void *userdata), void *userdata);
+
+#endif