]> code.delx.au - pulseaudio/blob - src/sample-util.h
implement daemonizing
[pulseaudio] / src / sample-util.h
1 #ifndef foosampleutilhfoo
2 #define foosampleutilhfoo
3
4 #include "sample.h"
5 #include "memblock.h"
6 #include "memchunk.h"
7
8 #define PA_DEFAULT_SAMPLE_SPEC pa_default_sample_spec
9
10 extern struct pa_sample_spec pa_default_sample_spec;
11
12 #define PA_VOLUME_NORM (0x100)
13 #define PA_VOLUME_MUTE (0)
14
15 struct pa_memblock *pa_silence_memblock(struct pa_memblock* b, const struct pa_sample_spec *spec);
16 void pa_silence_memchunk(struct pa_memchunk *c, const struct pa_sample_spec *spec);
17 void pa_silence_memory(void *p, size_t length, const struct pa_sample_spec *spec);
18
19 struct pa_mix_info {
20 struct pa_memchunk chunk;
21 uint32_t volume;
22 void *userdata;
23 };
24
25 size_t pa_mix(struct pa_mix_info channels[], unsigned nchannels, void *data, size_t length, const struct pa_sample_spec *spec, uint32_t volume);
26
27 void pa_volume_memchunk(struct pa_memchunk*c, const struct pa_sample_spec *spec, uint32_t volume);
28
29 uint32_t pa_volume_multiply(uint32_t a, uint32_t b);
30
31 #endif