gstreamer/gst/audioresample/buffer.h

49 lines
1.5 KiB
C
Raw Normal View History

#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