43 #define SND_PCM_DLSYM_VERSION _dlsym_pcm_001
76 typedef enum _snd_pcm_class {
90 typedef enum _snd_pcm_subclass {
99 typedef enum _snd_pcm_stream {
108 typedef enum _snd_pcm_access {
123 typedef enum _snd_pcm_format {
203 SND_PCM_FORMAT_G723_24,
205 SND_PCM_FORMAT_G723_24_1B,
207 SND_PCM_FORMAT_G723_40,
209 SND_PCM_FORMAT_G723_40_1B,
211 SND_PCM_FORMAT_DSD_U8,
213 SND_PCM_FORMAT_DSD_U16_LE,
214 SND_PCM_FORMAT_LAST = SND_PCM_FORMAT_DSD_U16_LE,
216 #if __BYTE_ORDER == __LITTLE_ENDIAN
235 #elif __BYTE_ORDER == __BIG_ENDIAN
255 #error "Unknown endian"
260 typedef enum _snd_pcm_subformat {
267 typedef enum _snd_pcm_state {
290 typedef enum _snd_pcm_start {
299 typedef enum _snd_pcm_xrun {
308 typedef enum _snd_pcm_tstamp {
326 #define SND_PCM_NONBLOCK 0x00000001
328 #define SND_PCM_ASYNC 0x00000002
330 #define SND_PCM_ABORT 0x00008000
332 #define SND_PCM_NO_AUTO_RESAMPLE 0x00010000
334 #define SND_PCM_NO_AUTO_CHANNELS 0x00020000
336 #define SND_PCM_NO_AUTO_FORMAT 0x00040000
338 #define SND_PCM_NO_SOFTVOL 0x00080000
415 typedef struct _snd_pcm_channel_area {
425 typedef union _snd_pcm_sync_id {
427 unsigned char id[16];
429 unsigned short id16[8];
431 unsigned int id32[4];
443 const char *name,
const char *orig_name,
493 #define SND_CHMAP_API_VERSION ((1 << 16) | (0 << 8) | 1)
497 SND_CHMAP_TYPE_NONE = 0,
547 #define SND_CHMAP_POSITION_MASK 0xffff
550 #define SND_CHMAP_PHASE_INVERSE (0x01 << 16)
552 #define SND_CHMAP_DRIVER_SPEC (0x02 << 16)
555 typedef struct snd_pcm_chmap {
561 typedef struct snd_pcm_chmap_query {
593 unsigned int channels,
596 unsigned int latency);
598 snd_pcm_uframes_t *buffer_size,
599 snd_pcm_uframes_t *period_size);
615 #define snd_pcm_info_alloca(ptr) __snd_alloca(ptr, snd_pcm_info)
660 unsigned int *rate_num,
661 unsigned int *rate_den);
666 typedef struct _snd_pcm_hw_strategy snd_pcm_hw_strategy_t;
669 typedef struct _snd_pcm_hw_strategy_simple_choices_list {
671 unsigned int badness;
672 } snd_pcm_hw_strategy_simple_choices_list_t;
675 const snd_pcm_hw_strategy_t *strategy,
676 unsigned int badness_min,
677 unsigned int badness_max);
679 void snd_pcm_hw_strategy_free(snd_pcm_hw_strategy_t *strategy);
680 int snd_pcm_hw_strategy_simple(snd_pcm_hw_strategy_t **strategyp,
681 unsigned int badness_min,
682 unsigned int badness_max);
683 int snd_pcm_hw_params_try_explain_failure(
snd_pcm_t *pcm,
696 #define snd_pcm_hw_params_alloca(ptr) __snd_alloca(ptr, snd_pcm_hw_params)
701 #if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_HW_PARAMS_API)
837 #define snd_pcm_sw_params_alloca(ptr) __snd_alloca(ptr, snd_pcm_sw_params)
843 #if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_SW_PARAMS_API)
865 #ifndef ALSA_LIBRARY_BUILD
866 #if defined(ALSA_PCM_OLD_HW_PARAMS_API) || defined(ALSA_PCM_OLD_SW_PARAMS_API)
883 #define snd_pcm_access_mask_alloca(ptr) __snd_alloca(ptr, snd_pcm_access_mask)
908 #define snd_pcm_format_mask_alloca(ptr) __snd_alloca(ptr, snd_pcm_format_mask)
933 #define snd_pcm_subformat_mask_alloca(ptr) __snd_alloca(ptr, snd_pcm_subformat_mask)
958 #define snd_pcm_status_alloca(ptr) __snd_alloca(ptr, snd_pcm_status)
1021 snd_pcm_uframes_t *offset,
1022 snd_pcm_uframes_t *frames);
1024 snd_pcm_uframes_t offset,
1025 snd_pcm_uframes_t frames);
1083 typedef enum _snd_pcm_hook_type {
1084 SND_PCM_HOOK_TYPE_HW_PARAMS = 0,
1085 SND_PCM_HOOK_TYPE_HW_FREE,
1086 SND_PCM_HOOK_TYPE_CLOSE,
1087 SND_PCM_HOOK_TYPE_LAST = SND_PCM_HOOK_TYPE_CLOSE
1112 typedef struct _snd_pcm_scope_ops {
1160 unsigned int channel);
1172 typedef enum _snd_spcm_latency {
1185 typedef enum _snd_spcm_xrun_type {
1193 typedef enum _snd_spcm_duplex_type {
1202 unsigned int channels,
1212 unsigned int channels,
1222 snd_pcm_uframes_t *buffer_size,
1223 snd_pcm_uframes_t *period_size);
1241 #if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_SW_PARAMS_API)
1247 #if !defined(ALSA_LIBRARY_BUILD) && !defined(ALSA_PCM_OLD_HW_PARAMS_API)