mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 04:31:06 +00:00
49 lines
1.5 KiB
C
49 lines
1.5 KiB
C
|
|
||
|
#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
|