libgroove  5.0.0
GrooveSink Struct Reference

use this to get access to a realtime raw audio buffer for example you could use it to draw a waveform or other visualization GroovePlayer uses this internally to get the audio buffer for playback More...

Data Fields

struct GrooveAudioFormat audio_format
 set this to the audio format you want the sink to output More...
 
int disable_resample
 Set this flag to ignore audio_format. More...
 
int buffer_sample_count
 If you leave this to its default of 0, frames pulled from the sink will have sample count determined by efficiency. More...
 
int buffer_size
 how big the buffer queue should be, in sample frames. More...
 
double gain
 This volume adjustment only applies to this sink. More...
 
void * userdata
 set to whatever you want, defaults to NULL. More...
 
void(* flush )(struct GrooveSink *)
 called when the audio queue is flushed. More...
 
void(* purge )(struct GrooveSink *, struct GroovePlaylistItem *)
 called when a playlist item is deleted. More...
 
void(* pause )(struct GrooveSink *)
 called when the playlist is paused More...
 
void(* play )(struct GrooveSink *)
 called when the playlist is played More...
 
struct GroovePlaylistplaylist
 read-only. More...
 
int bytes_per_sec
 read-only. More...
 

Detailed Description

use this to get access to a realtime raw audio buffer for example you could use it to draw a waveform or other visualization GroovePlayer uses this internally to get the audio buffer for playback

Field Documentation

struct GrooveAudioFormat GrooveSink::audio_format

set this to the audio format you want the sink to output

int GrooveSink::buffer_sample_count

If you leave this to its default of 0, frames pulled from the sink will have sample count determined by efficiency.

If you set this to a positive number, frames pulled from the sink will always have this number of samples.

int GrooveSink::buffer_size

how big the buffer queue should be, in sample frames.

groove_sink_create defaults this to 8192

int GrooveSink::bytes_per_sec

read-only.

automatically computed from audio_format when you call groove_sink_attach

int GrooveSink::disable_resample

Set this flag to ignore audio_format.

If you set this flag, the buffers you pull from this sink could have any audio format.

void(* GrooveSink::flush)(struct GrooveSink *)

called when the audio queue is flushed.

For example, if you seek to a different location in the song.

double GrooveSink::gain

This volume adjustment only applies to this sink.

It is recommended that you leave this at 1.0 and instead adjust the gain of the playlist. If you want to change this value after you have already attached the sink to the playlist, you must use groove_sink_set_gain. float format. Defaults to 1.0

void(* GrooveSink::pause)(struct GrooveSink *)

called when the playlist is paused

void(* GrooveSink::play)(struct GrooveSink *)

called when the playlist is played

struct GroovePlaylist* GrooveSink::playlist

read-only.

set when you call groove_sink_attach. cleared when you call groove_sink_detach

void(* GrooveSink::purge)(struct GrooveSink *, struct GroovePlaylistItem *)

called when a playlist item is deleted.

Take this opportunity to remove all your references to the GroovePlaylistItem.

void* GrooveSink::userdata

set to whatever you want, defaults to NULL.


The documentation for this struct was generated from the following file: