Simple setup functions
[PCM Interface]

Files

file  pcm_simple.c
 

PCM Simple Interface.


Typedefs

typedef enum _snd_spcm_latency snd_spcm_latency_t
typedef enum _snd_spcm_xrun_type snd_spcm_xrun_type_t
typedef enum _snd_spcm_duplex_type snd_spcm_duplex_type_t

Enumerations

enum  _snd_spcm_latency { SND_SPCM_LATENCY_STANDARD = 0, SND_SPCM_LATENCY_MEDIUM, SND_SPCM_LATENCY_REALTIME }
enum  _snd_spcm_xrun_type { SND_SPCM_XRUN_IGNORE = 0, SND_SPCM_XRUN_STOP }
enum  _snd_spcm_duplex_type { SND_SPCM_DUPLEX_LIBERAL = 0, SND_SPCM_DUPLEX_PEDANTIC }

Functions

int snd_spcm_init (snd_pcm_t *pcm, unsigned int rate, unsigned int channels, snd_pcm_format_t format, snd_pcm_subformat_t subformat, snd_spcm_latency_t latency, snd_pcm_access_t _access, snd_spcm_xrun_type_t xrun_type)
 Set up a simple PCM.
int snd_spcm_init_duplex (snd_pcm_t *playback_pcm, snd_pcm_t *capture_pcm, unsigned int rate, unsigned int channels, snd_pcm_format_t format, snd_pcm_subformat_t subformat, snd_spcm_latency_t latency, snd_pcm_access_t _access, snd_spcm_xrun_type_t xrun_type, snd_spcm_duplex_type_t duplex_type)
 Initialize simple PCMs in the duplex mode.
int snd_spcm_init_get_params (snd_pcm_t *pcm, unsigned int *rate, snd_pcm_uframes_t *buffer_size, snd_pcm_uframes_t *period_size)
 Get the set up of simple PCM.

Detailed Description

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


Typedef Documentation

Simple PCM duplex type

Simple PCM latency type

Simple PCM xrun type


Enumeration Type Documentation

Simple PCM duplex type

Enumerator:
SND_SPCM_DUPLEX_LIBERAL 

liberal duplex - the buffer and period sizes might not match

SND_SPCM_DUPLEX_PEDANTIC 

pedantic duplex - the buffer and period sizes MUST match

Simple PCM latency type

Enumerator:
SND_SPCM_LATENCY_STANDARD 

standard latency - for standard playback or capture (estimated latency in one direction 350ms)

SND_SPCM_LATENCY_MEDIUM 

medium latency - software phones etc. (estimated latency in one direction maximally 25ms

SND_SPCM_LATENCY_REALTIME 

realtime latency - realtime applications (effect processors etc.) (estimated latency in one direction 5ms and better)

Simple PCM xrun type

Enumerator:
SND_SPCM_XRUN_IGNORE 

driver / library will ignore all xruns, the stream runs forever

SND_SPCM_XRUN_STOP 

driver / library stops the stream when an xrun occurs


Function Documentation

int snd_spcm_init ( snd_pcm_t pcm,
unsigned int  rate,
unsigned int  channels,
snd_pcm_format_t  format,
snd_pcm_subformat_t  subformat,
snd_spcm_latency_t  latency,
snd_pcm_access_t  access,
snd_spcm_xrun_type_t  xrun_type 
)

Set up a simple PCM.

Parameters:
pcm PCM handle
rate Sample rate
channels Number of channels
format PCM format
subformat PCM subformat
latency Latency type
access PCM acceess type
xrun_type XRUN type
Returns:
0 if successful, or a negative error code
Warning:
The simple PCM API may be broken in the current release.
int snd_spcm_init_duplex ( snd_pcm_t playback_pcm,
snd_pcm_t capture_pcm,
unsigned int  rate,
unsigned int  channels,
snd_pcm_format_t  format,
snd_pcm_subformat_t  subformat,
snd_spcm_latency_t  latency,
snd_pcm_access_t  access,
snd_spcm_xrun_type_t  xrun_type,
snd_spcm_duplex_type_t  duplex_type 
)

Initialize simple PCMs in the duplex mode.

Parameters:
playback_pcm PCM handle for playback
capture_pcm PCM handle for capture
rate Sample rate
channels Number of channels
format PCM format
subformat PCM subformat
latency Latency type
access PCM acceess type
xrun_type XRUN type
duplex_type Duplex mode
Returns:
0 if successful, or a negative error code
Warning:
The simple PCM API may be broken in the current release.
int snd_spcm_init_get_params ( snd_pcm_t pcm,
unsigned int *  rate,
snd_pcm_uframes_t buffer_size,
snd_pcm_uframes_t period_size 
)

Get the set up of simple PCM.

Parameters:
pcm PCM handle
rate Pointer to store the current sample rate
buffer_size Pointer to store the current buffer size
period_size Pointer to store the current period size
Returns:
0 if successful, or a negative error code
Warning:
The simple PCM API may be broken in the current release.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on Mon Dec 21 16:42:55 2009 for ALSA project - the C library reference by  doxygen 1.6.1