Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

Helper Functions
[PCM Interface]


Functions

int snd_pcm_format_signed (snd_pcm_format_t format)
 Return sign info for a PCM sample linear format.

int snd_pcm_format_unsigned (snd_pcm_format_t format)
 Return sign info for a PCM sample linear format.

int snd_pcm_format_linear (snd_pcm_format_t format)
 Return linear info for a PCM sample format.

int snd_pcm_format_float (snd_pcm_format_t format)
 Return float info for a PCM sample format.

int snd_pcm_format_little_endian (snd_pcm_format_t format)
 Return endian info for a PCM sample format.

int snd_pcm_format_big_endian (snd_pcm_format_t format)
 Return endian info for a PCM sample format.

int snd_pcm_format_cpu_endian (snd_pcm_format_t format)
 Return endian info for a PCM sample format.

int snd_pcm_format_width (snd_pcm_format_t format)
 Return nominal bits per a PCM sample.

int snd_pcm_format_physical_width (snd_pcm_format_t format)
 Return bits needed to store a PCM sample.

snd_pcm_format_t snd_pcm_build_linear_format (int width, int pwidth, int unsignd, int big_endian)
 Compose a PCM sample linear format.

ssize_t snd_pcm_format_size (snd_pcm_format_t format, size_t samples)
 Return bytes needed to store a quantity of PCM sample.

u_int8_t snd_pcm_format_silence (snd_pcm_format_t format)
 Return 8 bit expressing silence for a PCM sample format.

u_int16_t snd_pcm_format_silence_16 (snd_pcm_format_t format)
 Return 16 bit expressing silence for a PCM sample format.

u_int32_t snd_pcm_format_silence_32 (snd_pcm_format_t format)
 Return 32 bit expressing silence for a PCM sample format.

u_int64_t snd_pcm_format_silence_64 (snd_pcm_format_t format)
 Return 64 bit expressing silence for a PCM sample format.

int snd_pcm_format_set_silence (snd_pcm_format_t format, void *buf, unsigned int samples)
 Silence a PCM samples buffer.

snd_pcm_sframes_t snd_pcm_bytes_to_frames (snd_pcm_t *pcm, ssize_t bytes)
 Convert bytes in frames for a PCM.

ssize_t snd_pcm_frames_to_bytes (snd_pcm_t *pcm, snd_pcm_sframes_t frames)
 Convert frames in bytes for a PCM.

long snd_pcm_bytes_to_samples (snd_pcm_t *pcm, ssize_t bytes)
 Convert bytes in samples for a PCM.

ssize_t snd_pcm_samples_to_bytes (snd_pcm_t *pcm, long samples)
 Convert samples in bytes for a PCM.

int snd_pcm_area_silence (const snd_pcm_channel_area_t *dst_channel, snd_pcm_uframes_t dst_offset, unsigned int samples, snd_pcm_format_t format)
 Silence an area.

int snd_pcm_areas_silence (const snd_pcm_channel_area_t *dst_channels, snd_pcm_uframes_t dst_offset, unsigned int channels, snd_pcm_uframes_t frames, snd_pcm_format_t format)
 Silence one or more areas.

int snd_pcm_area_copy (const snd_pcm_channel_area_t *dst_channel, snd_pcm_uframes_t dst_offset, const snd_pcm_channel_area_t *src_channel, snd_pcm_uframes_t src_offset, unsigned int samples, snd_pcm_format_t format)
 Copy an area.

int snd_pcm_areas_copy (const snd_pcm_channel_area_t *dst_channels, snd_pcm_uframes_t dst_offset, const snd_pcm_channel_area_t *src_channels, snd_pcm_uframes_t src_offset, unsigned int channels, snd_pcm_uframes_t frames, snd_pcm_format_t format)
 Copy one or more areas.


Detailed Description

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

Function Documentation

int snd_pcm_area_copy const snd_pcm_channel_area_t dst_area,
snd_pcm_uframes_t  dst_offset,
const snd_pcm_channel_area_t src_area,
snd_pcm_uframes_t  src_offset,
unsigned int  samples,
snd_pcm_format_t  format
 

Copy an area.

Parameters:
dst_area destination area specification
dst_offset offset in frames inside destination area
src_area source area specification
src_offset offset in frames inside source area
samples samples to copy
format PCM sample format
Returns:
0 on success otherwise a negative error code

int snd_pcm_area_silence const snd_pcm_channel_area_t dst_area,
snd_pcm_uframes_t  dst_offset,
unsigned int  samples,
snd_pcm_format_t  format
 

Silence an area.

Parameters:
dst_area area specification
dst_offset offset in frames inside area
samples samples to silence
format PCM sample format
Returns:
0 on success otherwise a negative error code

int snd_pcm_areas_copy const snd_pcm_channel_area_t dst_areas,
snd_pcm_uframes_t  dst_offset,
const snd_pcm_channel_area_t src_areas,
snd_pcm_uframes_t  src_offset,
unsigned int  channels,
snd_pcm_uframes_t  frames,
snd_pcm_format_t  format
 

Copy one or more areas.

Parameters:
dst_areas destination areas specification (one for each channel)
dst_offset offset in frames inside destination area
src_areas source areas specification (one for each channel)
src_offset offset in frames inside source area
channels channels count
frames frames to copy
format PCM sample format
Returns:
0 on success otherwise a negative error code

int snd_pcm_areas_silence const snd_pcm_channel_area_t dst_areas,
snd_pcm_uframes_t  dst_offset,
unsigned int  channels,
snd_pcm_uframes_t  frames,
snd_pcm_format_t  format
 

Silence one or more areas.

Parameters:
dst_areas areas specification (one for each channel)
dst_offset offset in frames inside area
channels channels count
frames frames to silence
format PCM sample format
Returns:
0 on success otherwise a negative error code

snd_pcm_format_t snd_pcm_build_linear_format int  width,
int  pwidth,
int  unsignd,
int  big_endian
 

Compose a PCM sample linear format.

Parameters:
width Nominal bits per sample
pwidth Physical bit width of the format
unsignd Sign: 0 signed, 1 unsigned
Returns:
big_endian Endian: 0 little endian, 1 big endian

snd_pcm_sframes_t snd_pcm_bytes_to_frames snd_pcm_t pcm,
ssize_t  bytes
 

Convert bytes in frames for a PCM.

Parameters:
pcm PCM handle
bytes quantity in bytes
Returns:
quantity expressed in frames

long snd_pcm_bytes_to_samples snd_pcm_t pcm,
ssize_t  bytes
 

Convert bytes in samples for a PCM.

Parameters:
pcm PCM handle
bytes quantity in bytes
Returns:
quantity expressed in samples

int snd_pcm_format_big_endian snd_pcm_format_t  format  ) 
 

Return endian info for a PCM sample format.

Parameters:
format Format
Returns:
0 little endian, 1 big endian, a negative error code if endian independent

int snd_pcm_format_cpu_endian snd_pcm_format_t  format  ) 
 

Return endian info for a PCM sample format.

Parameters:
format Format
Returns:
0 swapped, 1 CPU endian, a negative error code if endian independent

int snd_pcm_format_float snd_pcm_format_t  format  ) 
 

Return float info for a PCM sample format.

Parameters:
format Format
Returns:
0 non float, 1 float

int snd_pcm_format_linear snd_pcm_format_t  format  ) 
 

Return linear info for a PCM sample format.

Parameters:
format Format
Returns:
0 non linear, 1 linear

int snd_pcm_format_little_endian snd_pcm_format_t  format  ) 
 

Return endian info for a PCM sample format.

Parameters:
format Format
Returns:
0 big endian, 1 little endian, a negative error code if endian independent

int snd_pcm_format_physical_width snd_pcm_format_t  format  ) 
 

Return bits needed to store a PCM sample.

Parameters:
format Sample format
Returns:
bits per sample, a negative error code if not applicable

int snd_pcm_format_set_silence snd_pcm_format_t  format,
void *  data,
unsigned int  samples
 

Silence a PCM samples buffer.

Parameters:
format Sample format
data Buffer
Returns:
samples Samples count
Examples:
/test/latency.c.

int snd_pcm_format_signed snd_pcm_format_t  format  ) 
 

Return sign info for a PCM sample linear format.

Parameters:
format Format
Returns:
0 unsigned, 1 signed, a negative error code if format is not linear

u_int8_t snd_pcm_format_silence snd_pcm_format_t  format  ) 
 

Return 8 bit expressing silence for a PCM sample format.

Parameters:
format Sample format
Returns:
silence 8 bit word

u_int16_t snd_pcm_format_silence_16 snd_pcm_format_t  format  ) 
 

Return 16 bit expressing silence for a PCM sample format.

Parameters:
format Sample format
Returns:
silence 16 bit word

u_int32_t snd_pcm_format_silence_32 snd_pcm_format_t  format  ) 
 

Return 32 bit expressing silence for a PCM sample format.

Parameters:
format Sample format
Returns:
silence 32 bit word

u_int64_t snd_pcm_format_silence_64 snd_pcm_format_t  format  ) 
 

Return 64 bit expressing silence for a PCM sample format.

Parameters:
format Sample format
Returns:
silence 64 bit word

ssize_t snd_pcm_format_size snd_pcm_format_t  format,
size_t  samples
 

Return bytes needed to store a quantity of PCM sample.

Parameters:
format Sample format
samples Samples count
Returns:
bytes needed, a negative error code if not integer or unknown

int snd_pcm_format_unsigned snd_pcm_format_t  format  ) 
 

Return sign info for a PCM sample linear format.

Parameters:
format Format
Returns:
0 signed, 1 unsigned, a negative error code if format is not linear

int snd_pcm_format_width snd_pcm_format_t  format  ) 
 

Return nominal bits per a PCM sample.

Parameters:
format Sample format
Returns:
bits per sample, a negative error code if not applicable
Examples:
/test/latency.c, and /test/pcm.c.

ssize_t snd_pcm_frames_to_bytes snd_pcm_t pcm,
snd_pcm_sframes_t  frames
 

Convert frames in bytes for a PCM.

Parameters:
pcm PCM handle
frames quantity in frames
Returns:
quantity expressed in bytes

ssize_t snd_pcm_samples_to_bytes snd_pcm_t pcm,
long  samples
 

Convert samples in bytes for a PCM.

Parameters:
pcm PCM handle
samples quantity in samples
Returns:
quantity expressed in bytes


Generated on Mon May 3 16:15:23 2004 for ALSA project - the C library reference by doxygen 1.3.6