diff --git a/lib/mix_buffer.c b/lib/mix_buffer.c index 44a97f250..f20664780 100644 --- a/lib/mix_buffer.c +++ b/lib/mix_buffer.c @@ -16,11 +16,11 @@ struct mix_buffer_impl { mix_in_fn_t *mix_in; }; -struct mix_buffer_ssrc_source { +typedef struct { struct ssrc_entry h; // must be first unsigned int write_pos; unsigned int loops; -}; +} mix_buffer_ssrc_source; @@ -139,7 +139,7 @@ void mix_buffer_read_slow(struct mix_buffer *mb, void *outbuf, unsigned int samp } -static void mix_ssrc_put(struct mix_buffer_ssrc_source **s) { +static void mix_ssrc_put(mix_buffer_ssrc_source **s) { if (*s) obj_put(&(*s)->h); } @@ -147,7 +147,7 @@ static void mix_ssrc_put(struct mix_buffer_ssrc_source **s) { // write at the write-head, direct copy without mixing // must be locked already -static bool mix_buffer_write_fast(struct mix_buffer *mb, struct mix_buffer_ssrc_source *src, +static bool mix_buffer_write_fast(struct mix_buffer *mb, mix_buffer_ssrc_source *src, const void *buf, unsigned int samples) { // check for buffer overflow @@ -182,7 +182,7 @@ static bool mix_buffer_write_fast(struct mix_buffer *mb, struct mix_buffer_ssrc_ // write before the write-head with mixing-in // must be locked already -static bool mix_buffer_write_slow(struct mix_buffer *mb, struct mix_buffer_ssrc_source *src, +static bool mix_buffer_write_slow(struct mix_buffer *mb, mix_buffer_ssrc_source *src, const void *buf, unsigned int samples) { // mix-in up to the current write-head, or end of buffer in case of wrap-around @@ -220,7 +220,7 @@ static bool mix_buffer_write_slow(struct mix_buffer *mb, struct mix_buffer_ssrc_ } -static void mix_buffer_src_add_delay(struct mix_buffer *mb, struct mix_buffer_ssrc_source *src, +static void mix_buffer_src_add_delay(struct mix_buffer *mb, mix_buffer_ssrc_source *src, unsigned int samples) { if (!samples) @@ -239,7 +239,7 @@ static void mix_buffer_src_add_delay(struct mix_buffer *mb, struct mix_buffer_ss } -static void mix_buffer_src_init_pos(struct mix_buffer *mb, struct mix_buffer_ssrc_source *src) { +static void mix_buffer_src_init_pos(struct mix_buffer *mb, mix_buffer_ssrc_source *src) { src->write_pos = mb->read_pos; src->loops = mb->loops; if (mb->head_write_pos < src->write_pos) @@ -248,7 +248,7 @@ static void mix_buffer_src_init_pos(struct mix_buffer *mb, struct mix_buffer_ssr } -static void mix_buff_src_shift_delay(struct mix_buffer *mb, struct mix_buffer_ssrc_source *src, +static void mix_buff_src_shift_delay(struct mix_buffer *mb, mix_buffer_ssrc_source *src, const struct timeval *last, const struct timeval *now) { if (!last || !now) @@ -269,7 +269,7 @@ bool mix_buffer_write_delay(struct mix_buffer *mb, uint32_t ssrc, const void *bu LOCK(&mb->lock); bool created; - AUTO_CLEANUP(struct mix_buffer_ssrc_source *src, mix_ssrc_put) + AUTO_CLEANUP(mix_buffer_ssrc_source *src, mix_ssrc_put) = get_ssrc_full(ssrc, mb->ssrc_hash, &created); if (!src) return false; @@ -310,7 +310,7 @@ bool mix_buffer_write_delay(struct mix_buffer *mb, uint32_t ssrc, const void *bu static struct ssrc_entry *mix_buffer_ssrc_new(void *p) { struct mix_buffer *mb = p; - struct mix_buffer_ssrc_source *src = obj_alloc0("mix_buffer_ssrc", sizeof(*src), NULL); + mix_buffer_ssrc_source *src = obj_alloc0("mix_buffer_ssrc", sizeof(*src), NULL); mix_buffer_src_init_pos(mb, src); return &src->h; }