add description field for sinks/sources
[profile/ivi/pulseaudio.git] / src / sourceoutput.h
1 #ifndef foosourceoutputhfoo
2 #define foosourceoutputhfoo
3
4 #include <inttypes.h>
5
6 #include "source.h"
7 #include "sample.h"
8 #include "memblockq.h"
9 #include "resampler.h"
10 #include "module.h"
11 #include "client.h"
12
13 struct pa_source_output {
14     uint32_t index;
15
16     char *name;
17     struct pa_module *owner;
18     struct pa_client *client;
19     struct pa_source *source;
20     struct pa_sample_spec sample_spec;
21     
22     void (*push)(struct pa_source_output *o, const struct pa_memchunk *chunk);
23     void (*kill)(struct pa_source_output* o);
24
25     struct pa_resampler* resampler;
26     
27     void *userdata;
28 };
29
30 struct pa_source_output* pa_source_output_new(struct pa_source *s, const char *name, const struct pa_sample_spec *spec);
31 void pa_source_output_free(struct pa_source_output* o);
32
33 void pa_source_output_kill(struct pa_source_output*o);
34
35 char *pa_source_output_list_to_string(struct pa_core *c);
36
37 void pa_source_output_push(struct pa_source_output *o, const struct pa_memchunk *chunk);
38
39 #endif