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.


Generated on Thu Sep 11 04:58:23 2008 for ALSA project - the C library reference by  doxygen 1.5.6