2 #ifndef __SWFDEC_BUFFER_H__
3 #define __SWFDEC_BUFFER_H__
6 #include <libswfdec/swfdec_types.h>
18 void (*free
) (SwfdecBuffer
*, void *);
22 struct _SwfdecBufferQueue
29 SwfdecBuffer
*swfdec_buffer_new (void);
30 SwfdecBuffer
*swfdec_buffer_new_and_alloc (unsigned int size
);
31 SwfdecBuffer
*swfdec_buffer_new_and_alloc0 (unsigned int size
);
32 SwfdecBuffer
*swfdec_buffer_new_with_data (void *data
, int size
);
33 SwfdecBuffer
*swfdec_buffer_new_subbuffer (SwfdecBuffer
* buffer
, unsigned int offset
,
35 SwfdecBuffer
*swfdec_buffer_new_from_file (const char *filename
, GError
**error
);
36 SwfdecBuffer
* swfdec_buffer_ref (SwfdecBuffer
* buffer
);
37 void swfdec_buffer_unref (SwfdecBuffer
* buffer
);
39 SwfdecBufferQueue
*swfdec_buffer_queue_new (void);
40 void swfdec_buffer_queue_clear (SwfdecBufferQueue
*queue
);
41 void swfdec_buffer_queue_free (SwfdecBufferQueue
* queue
);
42 int swfdec_buffer_queue_get_depth (SwfdecBufferQueue
* queue
);
43 int swfdec_buffer_queue_get_offset (SwfdecBufferQueue
* queue
);
44 void swfdec_buffer_queue_push (SwfdecBufferQueue
* queue
,
45 SwfdecBuffer
* buffer
);
46 SwfdecBuffer
*swfdec_buffer_queue_pull (SwfdecBufferQueue
* queue
, unsigned int len
);
47 SwfdecBuffer
*swfdec_buffer_queue_pull_buffer (SwfdecBufferQueue
* queue
);
48 SwfdecBuffer
*swfdec_buffer_queue_peek (SwfdecBufferQueue
* queue
, unsigned int len
);