summaryrefslogtreecommitdiffstats
path: root/gst/audioresample/buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst/audioresample/buffer.h')
-rw-r--r--gst/audioresample/buffer.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/gst/audioresample/buffer.h b/gst/audioresample/buffer.h
new file mode 100644
index 00000000..17fb5f90
--- /dev/null
+++ b/gst/audioresample/buffer.h
@@ -0,0 +1,48 @@
+
+#ifndef __AUDIORESAMPLE_BUFFER_H__
+#define __AUDIORESAMPLE_BUFFER_H__
+
+#include <glib.h>
+
+typedef struct _AudioresampleBuffer AudioresampleBuffer;
+typedef struct _AudioresampleBufferQueue AudioresampleBufferQueue;
+
+struct _AudioresampleBuffer
+{
+ unsigned char *data;
+ int length;
+
+ int ref_count;
+
+ AudioresampleBuffer *parent;
+
+ void (*free) (AudioresampleBuffer *, void *);
+ void *priv;
+ void *priv2;
+};
+
+struct _AudioresampleBufferQueue
+{
+ GList *buffers;
+ int depth;
+ int offset;
+};
+
+AudioresampleBuffer *audioresample_buffer_new (void);
+AudioresampleBuffer *audioresample_buffer_new_and_alloc (int size);
+AudioresampleBuffer *audioresample_buffer_new_with_data (void *data, int size);
+AudioresampleBuffer *audioresample_buffer_new_subbuffer (AudioresampleBuffer * buffer, int offset,
+ int length);
+void audioresample_buffer_ref (AudioresampleBuffer * buffer);
+void audioresample_buffer_unref (AudioresampleBuffer * buffer);
+
+AudioresampleBufferQueue *audioresample_buffer_queue_new (void);
+void audioresample_buffer_queue_free (AudioresampleBufferQueue * queue);
+int audioresample_buffer_queue_get_depth (AudioresampleBufferQueue * queue);
+int audioresample_buffer_queue_get_offset (AudioresampleBufferQueue * queue);
+void audioresample_buffer_queue_push (AudioresampleBufferQueue * queue,
+ AudioresampleBuffer * buffer);
+AudioresampleBuffer *audioresample_buffer_queue_pull (AudioresampleBufferQueue * queue, int len);
+AudioresampleBuffer *audioresample_buffer_queue_peek (AudioresampleBufferQueue * queue, int len);
+
+#endif