XMMS2
Typedefs | Functions
ringbuf.c File Reference
#include <xmmspriv/xmms_ringbuf.h>
#include <string.h>

Typedefs

typedef struct
xmms_ringbuf_hotspot_St 
xmms_ringbuf_hotspot_t
 

Functions

guint xmms_ringbuf_size (xmms_ringbuf_t *ringbuf)
 The usable size of the ringbuffer. More...
 
xmms_ringbuf_txmms_ringbuf_new (guint size)
 Allocate a new ringbuffer. More...
 
void xmms_ringbuf_destroy (xmms_ringbuf_t *ringbuf)
 Free all memory used by the ringbuffer. More...
 
void xmms_ringbuf_clear (xmms_ringbuf_t *ringbuf)
 Clear the ringbuffers data. More...
 
guint xmms_ringbuf_bytes_free (const xmms_ringbuf_t *ringbuf)
 Number of bytes free in the ringbuffer. More...
 
guint xmms_ringbuf_bytes_used (const xmms_ringbuf_t *ringbuf)
 Number of bytes used in the buffer. More...
 
guint xmms_ringbuf_read (xmms_ringbuf_t *ringbuf, gpointer data, guint len)
 Reads data from the ringbuffer. More...
 
guint xmms_ringbuf_peek (xmms_ringbuf_t *ringbuf, gpointer data, guint len)
 Same as xmms_ringbuf_read but does not advance in the buffer after the data has been read. More...
 
guint xmms_ringbuf_read_wait (xmms_ringbuf_t *ringbuf, gpointer data, guint len, GMutex *mtx)
 Same as xmms_ringbuf_read but blocks until you have all the data you want. More...
 
guint xmms_ringbuf_peek_wait (xmms_ringbuf_t *ringbuf, gpointer data, guint len, GMutex *mtx)
 Same as xmms_ringbuf_peek but blocks until you have all the data you want. More...
 
guint xmms_ringbuf_write (xmms_ringbuf_t *ringbuf, gconstpointer data, guint len)
 Write data to the ringbuffer. More...
 
guint xmms_ringbuf_write_wait (xmms_ringbuf_t *ringbuf, gconstpointer data, guint len, GMutex *mtx)
 Same as xmms_ringbuf_write but blocks until there is enough free space. More...
 
void xmms_ringbuf_wait_free (xmms_ringbuf_t *ringbuf, guint len, GMutex *mtx)
 Block until we have free space in the ringbuffer. More...
 
void xmms_ringbuf_wait_used (xmms_ringbuf_t *ringbuf, guint len, GMutex *mtx)
 Block until we have used space in the buffer. More...
 
gboolean xmms_ringbuf_iseos (const xmms_ringbuf_t *ringbuf)
 Tell if the ringbuffer is EOS. More...
 
void xmms_ringbuf_set_eos (xmms_ringbuf_t *ringbuf, gboolean eos)
 Set EOS flag on ringbuffer. More...
 
void xmms_ringbuf_wait_eos (xmms_ringbuf_t *ringbuf, GMutex *mtx)
 Block until we are EOSed. More...
 
void xmms_ringbuf_hotspot_set (xmms_ringbuf_t *ringbuf, gboolean(*cb)(void *), void(*destroy)(void *), void *arg)
 

Function Documentation

void xmms_ringbuf_hotspot_set ( xmms_ringbuf_t ringbuf,
gboolean(*)(void *)  cb,
void(*)(void *)  destroy,
void *  arg 
)