#include <glib.h>
Go to the source code of this file.
Typedefs | |
typedef struct xmms_ringbuf_St | xmms_ringbuf_t |
Functions | |
xmms_ringbuf_t * | xmms_ringbuf_new (guint size) |
Allocate a new ringbuffer. | |
void | xmms_ringbuf_destroy (xmms_ringbuf_t *ringbuf) |
Free all memory used by the ringbuffer. | |
void | xmms_ringbuf_clear (xmms_ringbuf_t *ringbuf) |
Clear the ringbuffers data. | |
guint | xmms_ringbuf_bytes_free (const xmms_ringbuf_t *ringbuf) |
Number of bytes free in the ringbuffer. | |
guint | xmms_ringbuf_bytes_used (const xmms_ringbuf_t *ringbuf) |
Number of bytes used in the buffer. | |
guint | xmms_ringbuf_size (xmms_ringbuf_t *ringbuf) |
The usable size of the ringbuffer. | |
guint | xmms_ringbuf_read (xmms_ringbuf_t *ringbuf, gpointer data, guint length) |
Reads data from the ringbuffer. | |
guint | xmms_ringbuf_read_wait (xmms_ringbuf_t *ringbuf, gpointer data, guint length, GMutex *mtx) |
Same as xmms_ringbuf_read but blocks until you have all the data you want. | |
guint | xmms_ringbuf_peek (xmms_ringbuf_t *ringbuf, gpointer data, guint length) |
Same as xmms_ringbuf_read but does not advance in the buffer after the data has been read. | |
guint | xmms_ringbuf_peek_wait (xmms_ringbuf_t *ringbuf, gpointer data, guint length, GMutex *mtx) |
Same as xmms_ringbuf_peek but blocks until you have all the data you want. | |
void | xmms_ringbuf_hotspot_set (xmms_ringbuf_t *ringbuf, gboolean(*cb)(void *), void(*destroy)(void *), void *arg) |
guint | xmms_ringbuf_write (xmms_ringbuf_t *ringbuf, gconstpointer data, guint length) |
Write data to the ringbuffer. | |
guint | xmms_ringbuf_write_wait (xmms_ringbuf_t *ringbuf, gconstpointer data, guint length, GMutex *mtx) |
Same as xmms_ringbuf_write but blocks until there is enough free space. | |
void | xmms_ringbuf_wait_free (const xmms_ringbuf_t *ringbuf, guint len, GMutex *mtx) |
Block until we have free space in the ringbuffer. | |
void | xmms_ringbuf_wait_used (const xmms_ringbuf_t *ringbuf, guint len, GMutex *mtx) |
Block until we have used space in the buffer. | |
gboolean | xmms_ringbuf_timed_wait_used (const xmms_ringbuf_t *ringbuf, guint len, GMutex *mtx, GTimeVal *time) |
gboolean | xmms_ringbuf_iseos (const xmms_ringbuf_t *ringbuf) |
Tell if the ringbuffer is EOS. | |
void | xmms_ringbuf_set_eos (xmms_ringbuf_t *ringbuf, gboolean eos) |
Set EOS flag on ringbuffer. | |
void | xmms_ringbuf_wait_eos (const xmms_ringbuf_t *ringbuf, GMutex *mtx) |
Block until we are EOSed. |
typedef struct xmms_ringbuf_St xmms_ringbuf_t |
Definition at line 25 of file xmms_ringbuf.h.
void xmms_ringbuf_hotspot_set | ( | xmms_ringbuf_t * | ringbuf, | |
gboolean(*)(void *) | cb, | |||
void(*)(void *) | destroy, | |||
void * | arg | |||
) |
gboolean xmms_ringbuf_timed_wait_used | ( | const xmms_ringbuf_t * | ringbuf, | |
guint | len, | |||
GMutex * | mtx, | |||
GTimeVal * | time | |||
) |