summaryrefslogtreecommitdiffstats
path: root/src/sample-util.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sample-util.h')
-rw-r--r--src/sample-util.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/sample-util.h b/src/sample-util.h
index 0a3f7c89..2f2539d0 100644
--- a/src/sample-util.h
+++ b/src/sample-util.h
@@ -8,16 +8,23 @@
extern struct pa_sample_spec default_sample_spec;
+#define VOLUME_NORM (0x100)
+#define VOLUME_MUTE (0)
+
struct memblock *silence_memblock(struct memblock* b, struct pa_sample_spec *spec);
void silence_memchunk(struct memchunk *c, struct pa_sample_spec *spec);
void silence_memory(void *p, size_t length, struct pa_sample_spec *spec);
struct mix_info {
struct memchunk chunk;
- uint8_t volume;
+ uint32_t volume;
void *userdata;
};
-size_t mix_chunks(struct mix_info channels[], unsigned nchannels, void *data, size_t length, struct pa_sample_spec *spec, uint8_t volume);
+size_t mix_chunks(struct mix_info channels[], unsigned nchannels, void *data, size_t length, struct pa_sample_spec *spec, uint32_t volume);
+
+void volume_memchunk(struct memchunk*c, struct pa_sample_spec *spec, uint32_t volume);
+
+uint32_t volume_multiply(uint32_t a, uint32_t b);
#endif