#ifndef __AUDIORESAMPLE_BUFFER_H__ #define __AUDIORESAMPLE_BUFFER_H__ #include 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); void audioresample_buffer_queue_flush (AudioresampleBufferQueue * queue); #endif