summaryrefslogtreecommitdiff
path: root/include/kitchensink/internal
diff options
context:
space:
mode:
authorTuomas Virtanen <katajakasa@gmail.com>2016-01-08 01:29:36 +0200
committerTuomas Virtanen <katajakasa@gmail.com>2016-01-08 01:29:36 +0200
commitcce3ee047e712f48059ed28b284cf5c194c34de8 (patch)
treeb13dd1a2bb2eb1094d597d30c70002a166caf3ac /include/kitchensink/internal
parentd843d120ae3d87548e10f7ee0ded71a301d5d4b3 (diff)
Code dump. Playback & decoding works, but no sync yet.
Diffstat (limited to 'include/kitchensink/internal')
-rw-r--r--include/kitchensink/internal/kitbuffer.h20
-rw-r--r--include/kitchensink/internal/kitringbuffer.h22
2 files changed, 42 insertions, 0 deletions
diff --git a/include/kitchensink/internal/kitbuffer.h b/include/kitchensink/internal/kitbuffer.h
new file mode 100644
index 0000000..772edf1
--- /dev/null
+++ b/include/kitchensink/internal/kitbuffer.h
@@ -0,0 +1,20 @@
+#ifndef KITBUFFER_H
+#define KITBUFFER_H
+
+#include "kitchensink/kitconfig.h"
+
+typedef struct Kit_Buffer {
+ unsigned int read_p;
+ unsigned int write_p;
+ unsigned int size;
+ void **data;
+} Kit_Buffer;
+
+KIT_LOCAL Kit_Buffer* Kit_CreateBuffer(unsigned int size);
+KIT_LOCAL void Kit_DestroyBuffer(Kit_Buffer *buffer);
+
+KIT_LOCAL void* Kit_ReadBuffer(Kit_Buffer *buffer);
+KIT_LOCAL int Kit_WriteBuffer(Kit_Buffer *buffer, void *ptr);
+KIT_LOCAL int Kit_IsBufferFull(const Kit_Buffer *buffer);
+
+#endif // KITBUFFER_H
diff --git a/include/kitchensink/internal/kitringbuffer.h b/include/kitchensink/internal/kitringbuffer.h
new file mode 100644
index 0000000..773ba29
--- /dev/null
+++ b/include/kitchensink/internal/kitringbuffer.h
@@ -0,0 +1,22 @@
+#ifndef KITRINGBUFFER_H
+#define KITRINGBUFFER_H
+
+#include "kitchensink/kitconfig.h"
+
+typedef struct Kit_RingBuffer {
+ int size;
+ int len;
+ int wpos, rpos;
+ char* data;
+} Kit_RingBuffer;
+
+KIT_LOCAL Kit_RingBuffer* Kit_CreateRingBuffer(unsigned int size);
+KIT_LOCAL void Kit_DestroyRingBuffer(Kit_RingBuffer* rb);
+KIT_LOCAL int Kit_WriteRingBuffer(Kit_RingBuffer *rb, const char* data, int len);
+KIT_LOCAL int Kit_ReadRingBuffer(Kit_RingBuffer *rb, char* data, int len);
+KIT_LOCAL int Kit_PeekRingBuffer(const Kit_RingBuffer *rb, char* data, int len);
+KIT_LOCAL int Kit_AdvanceRingBuffer(Kit_RingBuffer *rb, int len);
+KIT_LOCAL int Kit_GetRingBufferLength(const Kit_RingBuffer *rb);
+KIT_LOCAL int Kit_GetRingBufferSize(const Kit_RingBuffer *rb);
+
+#endif // KITRINGBUFFER_H