roar_vs_stream(3)

NAME
roar_vs_stream - Set up stream parameters for VS object

SYNOPSIS

#include <roaraudio.h>

int roar_vs_stream(roar_vs_t * vss, const struct roar_audio_info * info, int dir, int * error);

DESCRIPTION
This function asks a VS object opened by roar_vs_new_from_con(3) or roar_vs_new(3) to open the data connection using the audio parameters info and the stream direction dir.

This function needs to be called before data is read or written if one of the above functions is used to create the VS object.

This function is also used to provide parameters for the file mode (which is started by using roar_vs_file(3) or roar_vs_file_simple(3)). To play back a file this is not needed in a common case as the VS API tries to find correct parameters. It is required for all other stream directions. See roar_vs_file(3) and roar_vs_file_simple(3) for more information.

On failture this function can be called again with different parameters.

PARAMETERS

vss The VS object to be updated.

info
    This is a pointer to the roar_audio_info structure storing the audio format parameters. The structure contains the following members: rate (sample rate), bits (bits per sample), channels (channels per frame) and codec.

dir This is the stream direction. Common values include ROAR_DIR_PLAY for waveform playback, ROAR_DIR_MONITOR for waveform monitoring, ROAR_DIR_RECORD for waveform recording. For MIDI ROAR_DIR_MIDI_IN and ROAR_DIR_MIDI_OUT is used.

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. On error, -1 is returned.

EXAMPLES
 struct roar_audio_info info;
 int err;

 if ( roar_profile2info(&info, "isdn-eu") == -1 ) {
  // error handling.
 }

 if ( roar_vs_stream(vss, &info, ROAR_DIR_PLAY, &err) == -1 ) {
  // error handling.
 }

SEE ALSO
roar_vs_file(3), roar_vs_file_simple(3), roarvs(7), libroar(7), RoarAudio(7).