feat: add WAV load/save and ring buffer implementation
Co-authored-by: aider (deepseek/deepseek-reasoner) <aider@aider.chat>
This commit is contained in:
21
src/ringbuffer.h
Normal file
21
src/ringbuffer.h
Normal 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
|
||||
Reference in New Issue
Block a user