feat: add WAV load/save and ring buffer implementation

Co-authored-by: aider (deepseek/deepseek-reasoner) <aider@aider.chat>
This commit is contained in:
Loic Coenen
2026-05-11 21:15:12 +00:00
parent 6b490ed739
commit 5a2414b4c3
9 changed files with 319 additions and 3 deletions

21
src/ringbuffer.h Normal file
View File

@@ -0,0 +1,21 @@
#ifndef RINGBUFFER_H
#define RINGBUFFER_H
#include <stddef.h>
#include <stdatomic.h>
typedef struct {
atomic_size_t head;
atomic_size_t tail;
size_t capacity;
float *buf;
} RingBuf;
int ring_init(RingBuf *r, size_t capacity);
void ring_destroy(RingBuf *r);
size_t ring_readable(const RingBuf *r);
size_t ring_writeable(const RingBuf *r);
size_t ring_write(RingBuf *r, const float *data, size_t count);
size_t ring_read(RingBuf *r, float *data, size_t count);
#endif