Lines Matching +full:min +full:- +full:sample +full:- +full:time
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
3 * Advanced Linux Sound Architecture - ALSA - Driver
4 * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>,
5 * Abramo Bagnara <abramo@alsa-project.org>
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
37 #include <time.h>
68 * CEA-861 Audio InfoFrame. Used in HDMI and DisplayPort *
74 unsigned char db2_sf_ss; /* sample frequency and size */
77 unsigned char db5_dminh_lsv; /* downmix inhibit & level-shit values */
82 * Section for driver hardware dependent interface - /dev/snd/hw? *
105 SNDRV_HWDEP_IFACE_HDA, /* HD-audio */
132 unsigned int version; /* R: driver-specific version */
133 unsigned char id[32]; /* R: driver-specific ID string */
145 unsigned long driver_data; /* W: driver-specific data */
155 * Digital Audio (PCM) interface - /dev/snd/pcm?? *
209 …V_PCM_FORMAT_FLOAT_LE ((__force snd_pcm_format_t) 14) /* 4-byte float, IEEE-754 32-bit, range -1.0…
210 …V_PCM_FORMAT_FLOAT_BE ((__force snd_pcm_format_t) 15) /* 4-byte float, IEEE-754 32-bit, range -1.0…
211 …PCM_FORMAT_FLOAT64_LE ((__force snd_pcm_format_t) 16) /* 8-byte float, IEEE-754 64-bit, range -1.0…
212 …PCM_FORMAT_FLOAT64_BE ((__force snd_pcm_format_t) 17) /* 8-byte float, IEEE-754 64-bit, range -1.0…
213 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE ((__force snd_pcm_format_t) 18) /* IEC-958 subframe, Li…
214 #define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE ((__force snd_pcm_format_t) 19) /* IEC-958 subframe, Bi…
239 #define SNDRV_PCM_FORMAT_G723_24_1B ((__force snd_pcm_format_t) 45) /* 1 sample in 1 byte */
241 #define SNDRV_PCM_FORMAT_G723_40_1B ((__force snd_pcm_format_t) 47) /* 1 sample in 1 byte */
242 #define SNDRV_PCM_FORMAT_DSD_U8 ((__force snd_pcm_format_t) 48) /* DSD, 1-byte samples DSD (x8) */
243 #define SNDRV_PCM_FORMAT_DSD_U16_LE ((__force snd_pcm_format_t) 49) /* DSD, 2-byte samples DSD (x16…
244 #define SNDRV_PCM_FORMAT_DSD_U32_LE ((__force snd_pcm_format_t) 50) /* DSD, 4-byte samples DSD (x32…
245 #define SNDRV_PCM_FORMAT_DSD_U16_BE ((__force snd_pcm_format_t) 51) /* DSD, 2-byte samples DSD (x16…
246 #define SNDRV_PCM_FORMAT_DSD_U32_BE ((__force snd_pcm_format_t) 52) /* DSD, 4-byte samples DSD (x32…
297 …_HAS_WALL_CLOCK 0x01000000 /* (Deprecated)has audio wall clock for audio/system time sync */
298 #define SNDRV_PCM_INFO_HAS_LINK_ATIME 0x01000000 /* report hardware link audio time, …
299 …INK_ABSOLUTE_ATIME 0x02000000 /* report absolute hardware link audio time, not reset on start…
300 #define SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME 0x04000000 /* report estimated link audio time …
301 … SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME 0x08000000 /* report synchronized audio/system time */
303 #define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000 /* internal kernel flag - trigger in drain */
304 #define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 /* internal kernel flag - FIFO size is in frames */
366 #define SNDRV_PCM_HW_PARAM_SAMPLE_BITS 8 /* Bits per sample */
396 unsigned int min, max; member
411 struct snd_mask masks[SNDRV_PCM_HW_PARAM_LAST_MASK -
414 struct snd_interval intervals[SNDRV_PCM_HW_PARAM_LAST_INTERVAL -
436 unsigned int sleep_min; /* min ticks to sleep */
437 snd_pcm_uframes_t avail_min; /* min avail frames for wakeup */
439 snd_pcm_uframes_t start_threshold; /* min hw_avail frames for automatic start */
440 snd_pcm_uframes_t stop_threshold; /* min avail frames for automatic stop */
441 snd_pcm_uframes_t silence_threshold; /* min distance from noise for silence filling */
452 unsigned int first; /* offset to first sample in bits */
459 * maps to wallclock/link time for HDAudio playback and DEFAULT/DMA time for everything else
464 SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, /* DMA time, reported as per hw_ptr */
465 …SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, /* link time reported by sample or wallclock coun…
466 …SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, /* link time reported by sample or wallclock cou…
467 SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, /* link time estimated indirectly */
468 SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, /* link time synchronized with system time */
473 /* explicit padding avoids incompatibility between i386 and x86-64 */
474 typedef struct { unsigned char pad[sizeof(time_t) - sizeof(int)]; } __time_pad;
479 struct timespec trigger_tstamp; /* time when stream was started/stopped/paused */
488 …__u32 audio_tstamp_data; /* needed for 64-bit alignment, used for configs/report to/from userspac…
489 struct timespec audio_tstamp; /* sample counter, wall clock, PHC or on-demand sync'ed */
492 unsigned char reserved[52-2*sizeof(struct timespec)]; /* must be filled with zero */
497 * For mmap operations, we need the 64-bit layout, both for compat mode,
498 * and for y2038 compatibility. For 64-bit applications, the two definitions
527 snd_pcm_state_t state; /* RO: state - SNDRV_PCM_STATE_XXXX */
529 snd_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
532 struct __snd_timespec audio_tstamp; /* from sample counter or wall clock */
536 snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
537 snd_pcm_uframes_t avail_min; /* RW: min available frames for wakeup */
557 typedef char __pad_before_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
563 typedef char __pad_after_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
567 snd_pcm_state_t state; /* RO: state - SNDRV_PCM_STATE_XXXX */
570 snd_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
575 struct __snd_timespec64 audio_tstamp; /* sample counter or wall clock */
580 snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
584 snd_pcm_uframes_t avail_min; /* RW: min available frames for wakeup */
625 /* this follows the alsa-lib mixer channel value + 3 */
710 * Raw MIDI section - /dev/snd/midi??
766 * Timer section - /dev/snd/timer
772 SNDRV_TIMER_CLASS_NONE = -1,
808 unsigned int flags; /* timer flags - SNDRV_TIMER_FLG_* */
822 unsigned long period_num; /* requested precise period duration (in seconds) - numerator */
823 unsigned long period_den; /* requested precise period duration (in seconds) - denominator */
830 unsigned long resolution_num; /* precise current period resolution (in seconds) - numerator */
831 unsigned long resolution_den; /* precise current period resolution (in seconds) - denominator */
841 unsigned int flags; /* timer flags - SNDRV_TIMER_FLG_* */
850 #define SNDRV_TIMER_PSFLG_AUTO (1<<0) /* auto start, otherwise one-shot */
855 unsigned int flags; /* flags - SNDRV_TIMER_PSFLG_* */
857 unsigned int queue_size; /* total size of queue (32-1024) */
865 struct timespec tstamp; /* Timestamp - last update */
935 * Section for driver control interface - /dev/snd/control? *
960 #define SNDRV_CTL_ELEM_TYPE_INTEGER64 ((__force snd_ctl_elem_type_t) 6) /* 64-bit integer type */
1019 snd_ctl_elem_type_t type; /* R: value type - SNDRV_CTL_ELEM_TYPE_* */
1020 unsigned int access; /* R: value access (bitmask) - SNDRV_CTL_ELEM_ACCESS_* */
1025 long min; /* R: minimum value */ member
1030 long long min; /* R: minimum value */ member
1048 unsigned int indirect: 1; /* W: indirect access - obsoleted */
1119 int type; /* event type - SNDRV_CTL_EVENT_* */