2 #ifndef __AUDIORESAMPLE_BUFFER_H__
3 #define __AUDIORESAMPLE_BUFFER_H__
7 typedef struct _AudioresampleBuffer AudioresampleBuffer;
8 typedef struct _AudioresampleBufferQueue AudioresampleBufferQueue;
10 struct _AudioresampleBuffer
17 AudioresampleBuffer *parent;
19 void (*free) (AudioresampleBuffer *, void *);
24 struct _AudioresampleBufferQueue
31 AudioresampleBuffer * audioresample_buffer_new (void);
32 AudioresampleBuffer * audioresample_buffer_new_and_alloc (int size);
33 AudioresampleBuffer * audioresample_buffer_new_with_data (void *data, int size);
34 AudioresampleBuffer * audioresample_buffer_new_subbuffer (AudioresampleBuffer * buffer,
37 void audioresample_buffer_ref (AudioresampleBuffer * buffer);
38 void audioresample_buffer_unref (AudioresampleBuffer * buffer);
40 AudioresampleBufferQueue *
41 audioresample_buffer_queue_new (void);
42 void audioresample_buffer_queue_free (AudioresampleBufferQueue * queue);
43 int audioresample_buffer_queue_get_depth (AudioresampleBufferQueue * queue);
44 int audioresample_buffer_queue_get_offset (AudioresampleBufferQueue * queue);
45 void audioresample_buffer_queue_push (AudioresampleBufferQueue * queue,
46 AudioresampleBuffer * buffer);
47 AudioresampleBuffer * audioresample_buffer_queue_pull (AudioresampleBufferQueue * queue, int len);
48 AudioresampleBuffer * audioresample_buffer_queue_peek (AudioresampleBufferQueue * queue, int len);
49 void audioresample_buffer_queue_flush (AudioresampleBufferQueue * queue);