]> code.delx.au - pulseaudio/blob - src/polyp.h
main part of the native protocol
[pulseaudio] / src / polyp.h
1 #ifndef foopolyphfoo
2 #define foopolyphfoo
3
4 #include <sys/types.h>
5
6 #include "sample.h"
7 #include "polypdef.h"
8 #include "mainloop-api.h"
9
10 struct pa_context;
11
12 struct pa_context *pa_context_new(struct pa_mainloop_api *mainloop, const char *name);
13
14 int pa_context_connect(
15 struct pa_context *c,
16 const char *server,
17 void (*complete) (struct pa_context*c, int success, void *userdata),
18 void *userdata);
19
20 void pa_context_free(struct pa_context *c);
21
22 void pa_context_set_die_callback(struct pa_context *c, void (*cb)(struct pa_context *c, void *userdata), void *userdata);
23
24 int pa_context_is_dead(struct pa_context *c);
25 int pa_context_is_ready(struct pa_context *c);
26 int pa_contect_errno(struct pa_context *c);
27
28 struct pa_stream;
29
30 int pa_stream_new(
31 struct pa_context *c,
32 enum pa_stream_direction dir,
33 const char *dev,
34 const char *name,
35 const struct pa_sample_spec *ss,
36 const struct pa_buffer_attr *attr,
37 void (*complete) (struct pa_context*c, struct pa_stream *s, void *userdata),
38 void *userdata);
39
40 void pa_stream_free(struct pa_stream *p);
41
42 void pa_stream_set_die_callback(struct pa_stream *s, void (*cb)(struct pa_stream *s, void *userdata), void *userdata);
43
44 void pa_stream_set_write_callback(struct pa_stream *p, void (*cb)(struct pa_stream *p, size_t length, void *userdata), void *userdata);
45 void pa_stream_write(struct pa_stream *p, const void *data, size_t length);
46 size_t pa_stream_writable_size(struct pa_stream *p);
47
48 void pa_stream_set_read_callback(struct pa_stream *p, void (*cb)(struct pa_stream *p, const void*data, size_t length, void *userdata), void *userdata);
49
50 int pa_stream_is_dead(struct pa_stream *p);
51 int pa_stream_is_ready(struct pa_stream*p);
52
53 #endif