diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-06-08 23:54:24 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-06-08 23:54:24 +0000 |
commit | 9cb0b933e260008c6a03e24a4a149f726b8d86b2 (patch) | |
tree | b54651bafe32d1a817e779f884d1628176465bf0 /src/sink.h | |
parent | b1c00dcd0ae51d201f772e7f5fa61acae436a2cf (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.h | 38 |
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 |