roar_vs_buffer(3) Use buffered mode streams

SYNOPSIS

#include <roaraudio.h>

int roar_vs_buffer(roar_vs_t * vss, size_t buffer, int * error);

ssize_t roar_vs_get_avail_read(roar_vs_t * vss, int * error);

ssize_t roar_vs_get_avail_write(roar_vs_t * vss, int * error);

int roar_vs_reset_buffer(roar_vs_t * vss, int writering, int readring, int * error);

DESCRIPTION

These functions controls the buffered mode of the VS object. Using this mode is not recommended.

roar_vs_buffer() initializes the buffered mode. It takes the size for the buffer as argument. The size should be a power of two. Common values include 2048 and 4096.

roar_vs_get_avail_read() and roar_vs_get_avail_write() return the amount of free space in the read and write buffer.

roar_vs_reset_buffer() resets the read and/or write buffer. This means the data in the buffers is discarded. This does not happen frame aligned and may result in broken audio.

Buffers are not flushed automaically. To do this use roar_vs_iterate(3) or roar_vs_run(3).

PARAMETERS

vss
The VS object to be used.

buffer
The size of the buffer to be used in bytes.

writering, readring
Selects the buffer to reset. Must be ROAR_VS_TRUE or ROAR_VS_FALSE.

error
This is a pointer to a integer used to store the error value in case of error. This can be NULL if not used but it is very recommended to use this error value to report good error messages to the user.

RETURN VALUE

On success these calls return 0. roar_vs_get_avail_read() and roar_vs_get_avail_write() return the free space in the corresponding buffer. On error, -1 is returned.

EXAMPLES

FIXME