summaryrefslogtreecommitdiff
path: root/include/kitchensink/internal
diff options
context:
space:
mode:
authorTuomas Virtanen <katajakasa@gmail.com>2016-01-16 23:09:10 +0200
committerTuomas Virtanen <katajakasa@gmail.com>2016-01-16 23:09:10 +0200
commitb2727b578f0b8682f5bbc8651f2ce6a10bf6e271 (patch)
tree3cba8e816199cb591b3348875957c02bcb54e8f7 /include/kitchensink/internal
parent1909055c10e4864190885862e086332c5077f766 (diff)
Decode subtitles, still needs presentation
Diffstat (limited to 'include/kitchensink/internal')
-rw-r--r--include/kitchensink/internal/kitbuffer.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/kitchensink/internal/kitbuffer.h b/include/kitchensink/internal/kitbuffer.h
index 19a0c79..4d0f8cc 100644
--- a/include/kitchensink/internal/kitbuffer.h
+++ b/include/kitchensink/internal/kitbuffer.h
@@ -3,16 +3,22 @@
#include "kitchensink/kitconfig.h"
-typedef struct Kit_Buffer {
+typedef struct Kit_Buffer Kit_Buffer;
+
+typedef void (*Kit_BufferFreeCallback)(void*);
+
+struct Kit_Buffer {
unsigned int read_p;
unsigned int write_p;
unsigned int size;
+ Kit_BufferFreeCallback free_cb;
void **data;
-} Kit_Buffer;
+};
-KIT_LOCAL Kit_Buffer* Kit_CreateBuffer(unsigned int size);
+KIT_LOCAL Kit_Buffer* Kit_CreateBuffer(unsigned int size, Kit_BufferFreeCallback free_cb);
KIT_LOCAL void Kit_DestroyBuffer(Kit_Buffer *buffer);
+KIT_LOCAL void Kit_ClearBuffer(Kit_Buffer *buffer);
KIT_LOCAL void* Kit_ReadBuffer(Kit_Buffer *buffer);
KIT_LOCAL void* Kit_PeekBuffer(const Kit_Buffer *buffer);
KIT_LOCAL void Kit_AdvanceBuffer(Kit_Buffer *buffer);