ringbuffer.h File Reference

#include <gpac/tools.h>
#include <gpac/thread.h>
Include dependency graph for ringbuffer.h:

Data Structures

struct  GF_Ringbuffer

Functions

GF_Ringbuffergf_ringbuffer_new (u32 sz)
void gf_ringbuffer_del (GF_Ringbuffer *ringbuffer)
u32 gf_ringbuffer_read (GF_Ringbuffer *rb, u8 *dest, u32 szDest)
u32 gf_ringbuffer_available_for_read (GF_Ringbuffer *rb)
u32 gf_ringbuffer_write (GF_Ringbuffer *rb, const u8 *src, u32 sz)

Function Documentation

GF_Ringbuffer* gf_ringbuffer_new ( u32  sz  ) 

Creates a new ringbuffer with specified size. The caller has the reponsability to free the ringbuffer using gf_ringbuffer_del()

Parameters:
sz the ringbuffer size in bytes
Returns:
a pointer to a new ringbuffer if successful, NULL otherwise.
void gf_ringbuffer_del ( GF_Ringbuffer ringbuffer  ) 

Frees a previously allocated ringbuffer

Parameters:
ringbuffer The ringbuffer to free
u32 gf_ringbuffer_read ( GF_Ringbuffer rb,
u8 dest,
u32  szDest 
)

Reads bytes from ringbuffer

Parameters:
rb The ringbuffer to read from
dest The destination
szDest Size of destination
Returns:
the number of bytes readen
u32 gf_ringbuffer_available_for_read ( GF_Ringbuffer rb  ) 

Return the number of bytes available for reading. This is the number of bytes in front of the read pointer and behind the write pointer.

Parameters:
rb The ringbuffer
Returns:
the number of bytes available for reading
u32 gf_ringbuffer_write ( GF_Ringbuffer rb,
const u8 src,
u32  sz 
)

Copy at most sz bytes to rb from src.

Parameters:
rb The ringbuffer to write to
src The source buffer
sz the size of source
Returns:
Returns the actual number of bytes copied, may be lower than sz if ringbuffer is already full

Generated on 4 May 2016 for libgpac by  doxygen 1.6.1