ALSA project - the C library reference
Files | Typedefs | Enumerations | Functions
Hook Extension
Collaboration diagram for Hook Extension:

Files

file  pcm_hooks.c
 PCM Hook Interface.
 

Typedefs

typedef struct _snd_pcm_hook snd_pcm_hook_t
 
typedef int(* snd_pcm_hook_func_t) (snd_pcm_hook_t *hook)
 

Enumerations

enum  snd_pcm_hook_type_t { SND_PCM_HOOK_TYPE_HW_PARAMS = 0 , SND_PCM_HOOK_TYPE_HW_FREE , SND_PCM_HOOK_TYPE_CLOSE , SND_PCM_HOOK_TYPE_LAST = SND_PCM_HOOK_TYPE_CLOSE }
 

Functions

snd_pcm_tsnd_pcm_hook_get_pcm (snd_pcm_hook_t *hook)
 Get PCM handle for a PCM hook. More...
 
void * snd_pcm_hook_get_private (snd_pcm_hook_t *hook)
 Get callback function private data for a PCM hook. More...
 
void snd_pcm_hook_set_private (snd_pcm_hook_t *hook, void *private_data)
 Set callback function private data for a PCM hook. More...
 
int snd_pcm_hook_add (snd_pcm_hook_t **hookp, snd_pcm_t *pcm, snd_pcm_hook_type_t type, snd_pcm_hook_func_t func, void *private_data)
 Add a PCM hook at end of hooks chain. More...
 
int snd_pcm_hook_remove (snd_pcm_hook_t *hook)
 Remove a PCM hook. More...
 

Detailed Description

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

Typedef Documentation

◆ snd_pcm_hook_func_t

typedef int(* snd_pcm_hook_func_t) (snd_pcm_hook_t *hook)

PCM hook callback function

◆ snd_pcm_hook_t

typedef struct _snd_pcm_hook snd_pcm_hook_t

PCM hook container

Enumeration Type Documentation

◆ snd_pcm_hook_type_t

type of pcm hook

Function Documentation

◆ snd_pcm_hook_add()

int snd_pcm_hook_add ( snd_pcm_hook_t **  hookp,
snd_pcm_t pcm,
snd_pcm_hook_type_t  type,
snd_pcm_hook_func_t  func,
void *  private_data 
)

Add a PCM hook at end of hooks chain.

Parameters
hookpReturned PCM hook handle
pcmPCM handle
typePCM hook type
funcPCM hook callback function
private_dataPCM hook private data
Returns
0 on success otherwise a negative error code

Warning: an hook callback function cannot remove an hook of the same type different from itself

◆ snd_pcm_hook_get_pcm()

snd_pcm_t * snd_pcm_hook_get_pcm ( snd_pcm_hook_t hook)

Get PCM handle for a PCM hook.

Parameters
hookPCM hook handle
Returns
PCM handle

◆ snd_pcm_hook_get_private()

void * snd_pcm_hook_get_private ( snd_pcm_hook_t hook)

Get callback function private data for a PCM hook.

Parameters
hookPCM hook handle
Returns
callback function private data

◆ snd_pcm_hook_remove()

int snd_pcm_hook_remove ( snd_pcm_hook_t hook)

Remove a PCM hook.

Parameters
hookPCM hook handle
Returns
0 on success otherwise a negative error code

Warning: an hook callback cannot remove an hook of the same type different from itself

◆ snd_pcm_hook_set_private()

void snd_pcm_hook_set_private ( snd_pcm_hook_t hook,
void *  private_data 
)

Set callback function private data for a PCM hook.

Parameters
hookPCM hook handle
private_dataThe private data value