ALSA project - the C library reference
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
Scope Plugin Extension
PCM Interface

Data Structures

struct  snd_pcm_scope_ops_t

Functions

snd_pcm_uframes_t snd_pcm_meter_get_bufsize (snd_pcm_t *pcm)
 Get meter buffer size from a SND_PCM_TYPE_METER PCM.
unsigned int snd_pcm_meter_get_channels (snd_pcm_t *pcm)
 Get meter channels from a SND_PCM_TYPE_METER PCM.
unsigned int snd_pcm_meter_get_rate (snd_pcm_t *pcm)
 Get meter rate from a SND_PCM_TYPE_METER PCM.
snd_pcm_uframes_t snd_pcm_meter_get_now (snd_pcm_t *pcm)
 Get meter "now" frame pointer from a SND_PCM_TYPE_METER PCM.
snd_pcm_uframes_t snd_pcm_meter_get_boundary (snd_pcm_t *pcm)
 Get boundary for frame pointers from a SND_PCM_TYPE_METER PCM.
int snd_pcm_meter_add_scope (snd_pcm_t *pcm, snd_pcm_scope_t *scope)
 Add a scope to a SND_PCM_TYPE_METER PCM.
snd_pcm_scope_tsnd_pcm_meter_search_scope (snd_pcm_t *pcm, const char *name)
 Search an installed scope inside a SND_PCM_TYPE_METER PCM.
int snd_pcm_scope_malloc (snd_pcm_scope_t **ptr)
 allocate an invalid snd_pcm_scope_t using standard malloc
void snd_pcm_scope_set_ops (snd_pcm_scope_t *scope, const snd_pcm_scope_ops_t *val)
 Set callbacks for a SND_PCM_TYPE_METER PCM scope.
void snd_pcm_scope_set_name (snd_pcm_scope_t *scope, const char *val)
 Set name of a SND_PCM_TYPE_METER PCM scope.
const char * snd_pcm_scope_get_name (snd_pcm_scope_t *scope)
 Get name of a SND_PCM_TYPE_METER PCM scope.
void * snd_pcm_scope_get_callback_private (snd_pcm_scope_t *scope)
 Get callbacks private value for a SND_PCM_TYPE_METER PCM scope.
void snd_pcm_scope_set_callback_private (snd_pcm_scope_t *scope, void *val)
 Get callbacks private value for a SND_PCM_TYPE_METER PCM scope.
int snd_pcm_scope_s16_open (snd_pcm_t *pcm, const char *name, snd_pcm_scope_t **scopep)
 Add a s16 pseudo scope to a SND_PCM_TYPE_METER PCM.
int16_t * snd_pcm_scope_s16_get_channel_buffer (snd_pcm_scope_t *scope, unsigned int channel)
 Get s16 pseudo scope frames buffer for a channel.

Detailed Description

See the PCM (digital audio) interface page for more details.


Function Documentation

int snd_pcm_meter_add_scope ( snd_pcm_t pcm,
snd_pcm_scope_t scope 
)

Add a scope to a SND_PCM_TYPE_METER PCM.

Parameters:
pcmPCM handle
scopeScope handle
Returns:
0 on success otherwise a negative error code
snd_pcm_uframes_t snd_pcm_meter_get_boundary ( snd_pcm_t pcm)

Get boundary for frame pointers from a SND_PCM_TYPE_METER PCM.

Parameters:
pcmPCM handle
Returns:
boundary in frames
snd_pcm_uframes_t snd_pcm_meter_get_bufsize ( snd_pcm_t pcm)

Get meter buffer size from a SND_PCM_TYPE_METER PCM.

Parameters:
pcmPCM handle
Returns:
meter buffer size in frames
unsigned int snd_pcm_meter_get_channels ( snd_pcm_t pcm)

Get meter channels from a SND_PCM_TYPE_METER PCM.

Parameters:
pcmPCM handle
Returns:
meter channels count
snd_pcm_uframes_t snd_pcm_meter_get_now ( snd_pcm_t pcm)

Get meter "now" frame pointer from a SND_PCM_TYPE_METER PCM.

Parameters:
pcmPCM handle
Returns:
"now" frame pointer in frames (0 ... boundary - 1) see snd_pcm_meter_get_boundary
unsigned int snd_pcm_meter_get_rate ( snd_pcm_t pcm)

Get meter rate from a SND_PCM_TYPE_METER PCM.

Parameters:
pcmPCM handle
Returns:
approximate rate
snd_pcm_scope_t* snd_pcm_meter_search_scope ( snd_pcm_t pcm,
const char *  name 
)

Search an installed scope inside a SND_PCM_TYPE_METER PCM.

Parameters:
pcmPCM handle
namescope name
Returns:
pointer to found scope or NULL if none is found
void* snd_pcm_scope_get_callback_private ( snd_pcm_scope_t scope)

Get callbacks private value for a SND_PCM_TYPE_METER PCM scope.

Parameters:
scopePCM meter scope
Returns:
Private data value
const char* snd_pcm_scope_get_name ( snd_pcm_scope_t scope)

Get name of a SND_PCM_TYPE_METER PCM scope.

Parameters:
scopePCM meter scope
Returns:
scope name
int snd_pcm_scope_malloc ( snd_pcm_scope_t **  ptr)

allocate an invalid snd_pcm_scope_t using standard malloc

Parameters:
ptrreturned pointer
Returns:
0 on success otherwise negative error code
int16_t* snd_pcm_scope_s16_get_channel_buffer ( snd_pcm_scope_t scope,
unsigned int  channel 
)

Get s16 pseudo scope frames buffer for a channel.

Parameters:
scopes16 pseudo scope handle
channelChannel
Returns:
Pointer to channel buffer
int snd_pcm_scope_s16_open ( snd_pcm_t pcm,
const char *  name,
snd_pcm_scope_t **  scopep 
)

Add a s16 pseudo scope to a SND_PCM_TYPE_METER PCM.

Parameters:
pcmThe pcm handle
nameScope name
scopepPointer to newly created and added scope
Returns:
0 on success otherwise a negative error code

s16 pseudo scope convert SND_PCM_TYPE_METER PCM frames in CPU endian 16 bit frames for use with other scopes. Don't forget to insert it before and to not insert it more time (see snd_pcm_meter_search_scope)

void snd_pcm_scope_set_callback_private ( snd_pcm_scope_t scope,
void *  val 
)

Get callbacks private value for a SND_PCM_TYPE_METER PCM scope.

Parameters:
scopePCM meter scope
valPrivate data value
void snd_pcm_scope_set_name ( snd_pcm_scope_t scope,
const char *  val 
)

Set name of a SND_PCM_TYPE_METER PCM scope.

Parameters:
scopePCM meter scope
valscope name
void snd_pcm_scope_set_ops ( snd_pcm_scope_t scope,
const snd_pcm_scope_ops_t val 
)

Set callbacks for a SND_PCM_TYPE_METER PCM scope.

Parameters:
scopePCM meter scope
valcallbacks