Lines Matching refs:pcm
121 void (*changed)(snd_pcm_t *pcm, snd_pcm_t *src);
144 int (*close)(snd_pcm_t *pcm);
145 int (*nonblock)(snd_pcm_t *pcm, int nonblock); /* always locked */
146 int (*async)(snd_pcm_t *pcm, int sig, pid_t pid);
147 int (*info)(snd_pcm_t *pcm, snd_pcm_info_t *info);
148 int (*hw_refine)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
149 int (*hw_params)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
150 int (*hw_free)(snd_pcm_t *pcm);
151 int (*sw_params)(snd_pcm_t *pcm, snd_pcm_sw_params_t *params); /* always locked */
152 int (*channel_info)(snd_pcm_t *pcm, snd_pcm_channel_info_t *info);
153 void (*dump)(snd_pcm_t *pcm, snd_output_t *out);
154 int (*mmap)(snd_pcm_t *pcm);
155 int (*munmap)(snd_pcm_t *pcm);
156 snd_pcm_chmap_query_t **(*query_chmaps)(snd_pcm_t *pcm);
157 snd_pcm_chmap_t *(*get_chmap)(snd_pcm_t *pcm);
158 int (*set_chmap)(snd_pcm_t *pcm, const snd_pcm_chmap_t *map);
162 int (*status)(snd_pcm_t *pcm, snd_pcm_status_t *status); /* locked */
163 int (*prepare)(snd_pcm_t *pcm); /* locked */
164 int (*reset)(snd_pcm_t *pcm); /* locked */
165 int (*start)(snd_pcm_t *pcm); /* locked */
166 int (*drop)(snd_pcm_t *pcm); /* locked */
167 int (*drain)(snd_pcm_t *pcm); /* need own locking */
168 int (*pause)(snd_pcm_t *pcm, int enable); /* locked */
169 snd_pcm_state_t (*state)(snd_pcm_t *pcm); /* locked */
170 int (*hwsync)(snd_pcm_t *pcm); /* locked */
171 int (*delay)(snd_pcm_t *pcm, snd_pcm_sframes_t *delayp); /* locked */
172 int (*resume)(snd_pcm_t *pcm); /* need own locking */
174 int (*link_slaves)(snd_pcm_t *pcm, snd_pcm_t *master);
175 int (*unlink)(snd_pcm_t *pcm);
176 snd_pcm_sframes_t (*rewindable)(snd_pcm_t *pcm); /* locked */
177 snd_pcm_sframes_t (*rewind)(snd_pcm_t *pcm, snd_pcm_uframes_t frames); /* locked */
178 snd_pcm_sframes_t (*forwardable)(snd_pcm_t *pcm); /* locked */
179 snd_pcm_sframes_t (*forward)(snd_pcm_t *pcm, snd_pcm_uframes_t frames); /* locked */
180 snd_pcm_sframes_t (*writei)(snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size); /* need own locking */
181 snd_pcm_sframes_t (*writen)(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size); /* need own locking */
182 snd_pcm_sframes_t (*readi)(snd_pcm_t *pcm, void *buffer, snd_pcm_uframes_t size); /* need own locking */
183 snd_pcm_sframes_t (*readn)(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size); /* need own locking */
184 snd_pcm_sframes_t (*avail_update)(snd_pcm_t *pcm); /* locked */
185 snd_pcm_sframes_t (*mmap_commit)(snd_pcm_t *pcm, snd_pcm_uframes_t offset, snd_pcm_uframes_t size); /* locked */
186 int (*htimestamp)(snd_pcm_t *pcm, snd_pcm_uframes_t *avail, snd_htimestamp_t *tstamp); /* locked */
187 int (*poll_descriptors_count)(snd_pcm_t *pcm); /* locked */
188 int (*poll_descriptors)(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space); /* locked */
189 int (*poll_revents)(snd_pcm_t *pcm, struct pollfd *pfds, unsigned int nfds, unsigned short *revents); /* locked */
190 int (*may_wait_for_avail_min)(snd_pcm_t *pcm, snd_pcm_uframes_t avail);
191 int (*mmap_begin)(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas, snd_pcm_uframes_t *offset, snd_pcm_uframes_t *frames); /* locked */
376 int snd_pcm_free(snd_pcm_t *pcm);
378 void snd_pcm_areas_from_buf(snd_pcm_t *pcm, snd_pcm_channel_area_t *areas, void *buf);
379 void snd_pcm_areas_from_bufs(snd_pcm_t *pcm, snd_pcm_channel_area_t *areas, void **bufs);
381 int snd_pcm_async(snd_pcm_t *pcm, int sig, pid_t pid);
382 int snd_pcm_mmap(snd_pcm_t *pcm);
383 int snd_pcm_munmap(snd_pcm_t *pcm);
384 int snd_pcm_mmap_ready(snd_pcm_t *pcm);
385 void snd_pcm_set_hw_ptr(snd_pcm_t *pcm, volatile snd_pcm_uframes_t *hw_ptr, int fd, off_t offset);
386 void snd_pcm_set_appl_ptr(snd_pcm_t *pcm, volatile snd_pcm_uframes_t *appl_ptr, int fd, off_t offset);
387 void snd_pcm_link_hw_ptr(snd_pcm_t *pcm, snd_pcm_t *slave);
388 void snd_pcm_link_appl_ptr(snd_pcm_t *pcm, snd_pcm_t *slave);
389 void snd_pcm_unlink_hw_ptr(snd_pcm_t *pcm, snd_pcm_t *slave);
390 void snd_pcm_unlink_appl_ptr(snd_pcm_t *pcm, snd_pcm_t *slave);
391 snd_pcm_sframes_t snd_pcm_mmap_appl_ptr(snd_pcm_t *pcm, off_t offset);
392 void snd_pcm_mmap_appl_backward(snd_pcm_t *pcm, snd_pcm_uframes_t frames);
393 void snd_pcm_mmap_appl_forward(snd_pcm_t *pcm, snd_pcm_uframes_t frames);
394 void snd_pcm_mmap_hw_backward(snd_pcm_t *pcm, snd_pcm_uframes_t frames);
395 void snd_pcm_mmap_hw_forward(snd_pcm_t *pcm, snd_pcm_uframes_t frames);
397 void snd_pcm_sw_params_current_no_lock(snd_pcm_t *pcm, snd_pcm_sw_params_t *params);
399 snd_pcm_sframes_t snd_pcm_mmap_writei(snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size);
400 snd_pcm_sframes_t snd_pcm_mmap_readi(snd_pcm_t *pcm, void *buffer, snd_pcm_uframes_t size);
401 snd_pcm_sframes_t snd_pcm_mmap_writen(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size);
402 snd_pcm_sframes_t snd_pcm_mmap_readn(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size);
404 typedef snd_pcm_sframes_t (*snd_pcm_xfer_areas_func_t)(snd_pcm_t *pcm,
409 snd_pcm_sframes_t snd_pcm_read_areas(snd_pcm_t *pcm, const snd_pcm_channel_area_t *areas,
412 snd_pcm_sframes_t snd_pcm_write_areas(snd_pcm_t *pcm, const snd_pcm_channel_area_t *areas,
415 snd_pcm_sframes_t snd_pcm_read_mmap(snd_pcm_t *pcm, snd_pcm_uframes_t offset,
417 snd_pcm_sframes_t snd_pcm_write_mmap(snd_pcm_t *pcm, snd_pcm_uframes_t offset,
419 static inline int snd_pcm_channel_info(snd_pcm_t *pcm, snd_pcm_channel_info_t *info)
421 if (!pcm->ops->channel_info)
423 return pcm->ops->channel_info(pcm, info);
425 int snd_pcm_channel_info_shm(snd_pcm_t *pcm, snd_pcm_channel_info_t *info, int shmid);
426 int _snd_pcm_poll_descriptor(snd_pcm_t *pcm);
431 int __snd_pcm_mmap_begin_generic(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas,
433 int __snd_pcm_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas,
435 snd_pcm_sframes_t __snd_pcm_mmap_commit(snd_pcm_t *pcm,
438 int __snd_pcm_wait_in_lock(snd_pcm_t *pcm, int timeout);
440 static inline snd_pcm_sframes_t __snd_pcm_avail_update(snd_pcm_t *pcm)
442 if (!pcm->fast_ops->avail_update)
444 return pcm->fast_ops->avail_update(pcm->fast_op_arg);
447 static inline int __snd_pcm_start(snd_pcm_t *pcm)
449 if (!pcm->fast_ops->start)
451 return pcm->fast_ops->start(pcm->fast_op_arg);
454 static inline snd_pcm_state_t __snd_pcm_state(snd_pcm_t *pcm)
456 if (!pcm->fast_ops->state)
458 return pcm->fast_ops->state(pcm->fast_op_arg);
461 static inline int __snd_pcm_hwsync(snd_pcm_t *pcm)
463 if (!pcm->fast_ops->hwsync)
465 return pcm->fast_ops->hwsync(pcm->fast_op_arg);
468 static inline int __snd_pcm_delay(snd_pcm_t *pcm, snd_pcm_sframes_t *delayp)
470 if (!pcm->fast_ops->delay)
472 return pcm->fast_ops->delay(pcm->fast_op_arg, delayp);
476 static inline int snd_pcm_check_error(snd_pcm_t *pcm, int err)
479 switch (__snd_pcm_state(pcm)) {
500 static inline snd_pcm_uframes_t __snd_pcm_playback_avail(snd_pcm_t *pcm,
505 avail = hw_ptr + pcm->buffer_size - appl_ptr;
507 avail += pcm->boundary;
508 else if ((snd_pcm_uframes_t) avail >= pcm->boundary)
509 avail -= pcm->boundary;
513 static inline snd_pcm_uframes_t snd_pcm_mmap_playback_avail(snd_pcm_t *pcm)
515 return __snd_pcm_playback_avail(pcm, *pcm->hw.ptr, *pcm->appl.ptr);
525 static inline snd_pcm_uframes_t __snd_pcm_capture_avail(snd_pcm_t *pcm,
532 avail += pcm->boundary;
536 static inline snd_pcm_uframes_t snd_pcm_mmap_capture_avail(snd_pcm_t *pcm)
538 return __snd_pcm_capture_avail(pcm, *pcm->hw.ptr, *pcm->appl.ptr);
541 static inline snd_pcm_uframes_t __snd_pcm_avail(snd_pcm_t *pcm,
545 if (pcm->stream == SND_PCM_STREAM_PLAYBACK)
546 return __snd_pcm_playback_avail(pcm, hw_ptr, appl_ptr);
548 return __snd_pcm_capture_avail(pcm, hw_ptr, appl_ptr);
551 static inline snd_pcm_uframes_t snd_pcm_mmap_avail(snd_pcm_t *pcm)
553 return __snd_pcm_avail(pcm, *pcm->hw.ptr, *pcm->appl.ptr);
561 static inline snd_pcm_sframes_t snd_pcm_mmap_playback_hw_avail(snd_pcm_t *pcm)
563 return pcm->buffer_size - snd_pcm_mmap_playback_avail(pcm);
571 static inline snd_pcm_sframes_t snd_pcm_mmap_capture_hw_avail(snd_pcm_t *pcm)
573 return pcm->buffer_size - snd_pcm_mmap_capture_avail(pcm);
576 static inline snd_pcm_sframes_t snd_pcm_mmap_hw_avail(snd_pcm_t *pcm)
578 return pcm->buffer_size - snd_pcm_mmap_avail(pcm);
581 static inline snd_pcm_sframes_t snd_pcm_mmap_playback_hw_rewindable(snd_pcm_t *pcm)
583 snd_pcm_sframes_t ret = snd_pcm_mmap_playback_hw_avail(pcm);
587 static inline snd_pcm_sframes_t snd_pcm_mmap_capture_hw_rewindable(snd_pcm_t *pcm)
589 snd_pcm_sframes_t ret = snd_pcm_mmap_capture_hw_avail(pcm);
593 static inline snd_pcm_uframes_t snd_pcm_mmap_hw_rewindable(snd_pcm_t *pcm)
595 snd_pcm_sframes_t ret = snd_pcm_mmap_hw_avail(pcm);
599 static inline const snd_pcm_channel_area_t *snd_pcm_mmap_areas(snd_pcm_t *pcm)
601 if (pcm->stopped_areas &&
602 __snd_pcm_state(pcm) != SND_PCM_STATE_RUNNING)
603 return pcm->stopped_areas;
604 return pcm->running_areas;
607 static inline snd_pcm_uframes_t snd_pcm_mmap_offset(snd_pcm_t *pcm)
609 assert(pcm);
610 return *pcm->appl.ptr % pcm->buffer_size;
613 static inline snd_pcm_uframes_t snd_pcm_mmap_hw_offset(snd_pcm_t *pcm)
615 assert(pcm);
616 return *pcm->hw.ptr % pcm->buffer_size;
622 static inline snd_pcm_uframes_t snd_pcm_mmap_playback_delay(snd_pcm_t *pcm)
624 return snd_pcm_mmap_playback_hw_avail(pcm);
630 static inline snd_pcm_uframes_t snd_pcm_mmap_capture_delay(snd_pcm_t *pcm)
632 return snd_pcm_mmap_capture_avail(pcm);
635 static inline snd_pcm_sframes_t snd_pcm_mmap_delay(snd_pcm_t *pcm)
637 if (pcm->stream == SND_PCM_STREAM_PLAYBACK)
638 return snd_pcm_mmap_playback_delay(pcm);
640 return snd_pcm_mmap_capture_delay(pcm);
643 static inline snd_pcm_sframes_t _snd_pcm_writei(snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size)
646 if (!pcm->fast_ops->writei)
648 return pcm->fast_ops->writei(pcm->fast_op_arg, buffer, size);
651 static inline snd_pcm_sframes_t _snd_pcm_writen(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size)
654 if (!pcm->fast_ops->writen)
656 return pcm->fast_ops->writen(pcm->fast_op_arg, bufs, size);
659 static inline snd_pcm_sframes_t _snd_pcm_readi(snd_pcm_t *pcm, void *buffer, snd_pcm_uframes_t size)
662 if (!pcm->fast_ops->readi)
664 return pcm->fast_ops->readi(pcm->fast_op_arg, buffer, size);
667 static inline snd_pcm_sframes_t _snd_pcm_readn(snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size)
670 if (!pcm->fast_ops->readn)
672 return pcm->fast_ops->readn(pcm->fast_op_arg, bufs, size);
712 int snd_pcm_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
713 int _snd_pcm_hw_params_internal(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
715 int snd_pcm_hw_refine_soft(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
716 int snd_pcm_hw_refine_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
717 int (*cprepare)(snd_pcm_t *pcm,
719 int (*cchange)(snd_pcm_t *pcm,
722 int (*sprepare)(snd_pcm_t *pcm,
724 int (*schange)(snd_pcm_t *pcm,
727 int (*srefine)(snd_pcm_t *pcm,
729 int snd_pcm_hw_params_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
730 int (*cchange)(snd_pcm_t *pcm,
733 int (*sprepare)(snd_pcm_t *pcm,
735 int (*schange)(snd_pcm_t *pcm,
738 int (*sparams)(snd_pcm_t *pcm,
784 int snd_pcm_hw_param_refine_near(snd_pcm_t *pcm,
788 int snd_pcm_hw_param_refine_multiple(snd_pcm_t *pcm,
805 int snd_pcm_hw_param_any(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
807 int snd_pcm_hw_param_set_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
810 int snd_pcm_hw_param_set_first(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
812 int snd_pcm_hw_param_set_last(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
814 int snd_pcm_hw_param_set_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
816 int snd_pcm_hw_param_set_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
820 int snd_pcm_hw_param_set_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
823 int snd_pcm_hw_param_set_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
828 int snd_pcm_hw_param_set(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
831 int snd_pcm_hw_param_set_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params,
844 snd_pcm_sframes_t INTERNAL(snd_pcm_forward)(snd_pcm_t *pcm, snd_pcm_uframes_t frames);
847 int snd_pcm_hw_params_test_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access);
848 int snd_pcm_hw_params_set_access(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access);
849 int INTERNAL(snd_pcm_hw_params_set_access_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access);
850 int INTERNAL(snd_pcm_hw_params_set_access_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access);
851 int snd_pcm_hw_params_set_access_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask);
855 int snd_pcm_hw_params_test_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
856 int snd_pcm_hw_params_set_format(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t val);
857 int INTERNAL(snd_pcm_hw_params_set_format_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format);
858 int INTERNAL(snd_pcm_hw_params_set_format_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format);
859 int snd_pcm_hw_params_set_format_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask);
863 int snd_pcm_hw_params_test_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat);
864 int snd_pcm_hw_params_set_subformat(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat);
865 int INTERNAL(snd_pcm_hw_params_set_subformat_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat);
866 int INTERNAL(snd_pcm_hw_params_set_subformat_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat);
867 int snd_pcm_hw_params_set_subformat_mask(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask);
873 int snd_pcm_hw_params_test_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
874 int snd_pcm_hw_params_set_channels(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val);
875 int snd_pcm_hw_params_set_channels_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
876 int snd_pcm_hw_params_set_channels_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
877 int snd_pcm_hw_params_set_channels_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, unsigned int *max);
878 int INTERNAL(snd_pcm_hw_params_set_channels_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
879 int INTERNAL(snd_pcm_hw_params_set_channels_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
880 int INTERNAL(snd_pcm_hw_params_set_channels_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val);
885 int snd_pcm_hw_params_test_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
886 int snd_pcm_hw_params_set_rate(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
887 int snd_pcm_hw_params_set_rate_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
888 int snd_pcm_hw_params_set_rate_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
889 int snd_pcm_hw_params_set_rate_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
890 int INTERNAL(snd_pcm_hw_params_set_rate_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
891 int INTERNAL(snd_pcm_hw_params_set_rate_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
892 int INTERNAL(snd_pcm_hw_params_set_rate_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
897 int snd_pcm_hw_params_test_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
898 int snd_pcm_hw_params_set_period_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
899 int snd_pcm_hw_params_set_period_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
900 int snd_pcm_hw_params_set_period_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
901 int snd_pcm_hw_params_set_period_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
902 int INTERNAL(snd_pcm_hw_params_set_period_time_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
903 int INTERNAL(snd_pcm_hw_params_set_period_time_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
904 int INTERNAL(snd_pcm_hw_params_set_period_time_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
909 int snd_pcm_hw_params_test_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir);
910 int snd_pcm_hw_params_set_period_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir);
911 int snd_pcm_hw_params_set_period_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
912 int snd_pcm_hw_params_set_period_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
913 int snd_pcm_hw_params_set_period_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, int *mindir, snd_pcm_uframes_t *max, int *maxdir);
914 int INTERNAL(snd_pcm_hw_params_set_period_size_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
915 int INTERNAL(snd_pcm_hw_params_set_period_size_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
916 int INTERNAL(snd_pcm_hw_params_set_period_size_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir);
917 int snd_pcm_hw_params_set_period_size_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
922 int snd_pcm_hw_params_test_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
923 int snd_pcm_hw_params_set_periods(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
924 int snd_pcm_hw_params_set_periods_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
925 int snd_pcm_hw_params_set_periods_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
926 int snd_pcm_hw_params_set_periods_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
927 int INTERNAL(snd_pcm_hw_params_set_periods_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
928 int INTERNAL(snd_pcm_hw_params_set_periods_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
929 int INTERNAL(snd_pcm_hw_params_set_periods_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
930 int snd_pcm_hw_params_set_periods_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
935 int snd_pcm_hw_params_test_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
936 int snd_pcm_hw_params_set_buffer_time(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir);
937 int snd_pcm_hw_params_set_buffer_time_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
938 int snd_pcm_hw_params_set_buffer_time_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
939 int snd_pcm_hw_params_set_buffer_time_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir);
940 int INTERNAL(snd_pcm_hw_params_set_buffer_time_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
941 int INTERNAL(snd_pcm_hw_params_set_buffer_time_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
942 int INTERNAL(snd_pcm_hw_params_set_buffer_time_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir);
947 int snd_pcm_hw_params_test_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val);
948 int snd_pcm_hw_params_set_buffer_size(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val);
949 int snd_pcm_hw_params_set_buffer_size_min(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
950 int snd_pcm_hw_params_set_buffer_size_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
951 int snd_pcm_hw_params_set_buffer_size_minmax(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, snd_pcm_uframes_t *max);
952 int INTERNAL(snd_pcm_hw_params_set_buffer_size_near)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
953 int INTERNAL(snd_pcm_hw_params_set_buffer_size_first)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
954 int INTERNAL(snd_pcm_hw_params_set_buffer_size_last)(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val);
956 int snd_pcm_sw_params_set_tstamp_mode(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_tstamp_t val);
958 int snd_pcm_sw_params_set_tstamp_type(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_tstamp_type_t val);
960 int snd_pcm_sw_params_set_avail_min(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
962 int snd_pcm_sw_params_set_start_threshold(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
964 int snd_pcm_sw_params_set_stop_threshold(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
966 int snd_pcm_sw_params_set_silence_threshold(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
968 int snd_pcm_sw_params_set_silence_size(snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val);
1014 int snd_pcm_wait_nocheck(snd_pcm_t *pcm, int timeout);
1145 _snd_pcm_choose_fixed_chmap(snd_pcm_t *pcm, snd_pcm_chmap_query_t * const *maps);
1148 static inline int snd_pcm_may_wait_for_avail_min(snd_pcm_t *pcm, snd_pcm_uframes_t avail)
1150 if (avail >= pcm->avail_min)
1152 if (pcm->fast_ops->may_wait_for_avail_min)
1153 return pcm->fast_ops->may_wait_for_avail_min(pcm->fast_op_arg, avail);
1168 #define PCMINABORT(pcm) (((pcm)->mode & SND_PCM_ABORT) != 0)
1203 static inline void __snd_pcm_lock(snd_pcm_t *pcm)
1205 if (pcm->lock_enabled)
1206 pthread_mutex_lock(&pcm->lock);
1208 static inline void __snd_pcm_unlock(snd_pcm_t *pcm)
1210 if (pcm->lock_enabled)
1211 pthread_mutex_unlock(&pcm->lock);
1213 static inline void snd_pcm_lock(snd_pcm_t *pcm)
1215 if (pcm->lock_enabled && pcm->need_lock)
1216 pthread_mutex_lock(&pcm->lock);
1218 static inline void snd_pcm_unlock(snd_pcm_t *pcm)
1220 if (pcm->lock_enabled && pcm->need_lock)
1221 pthread_mutex_unlock(&pcm->lock);
1224 #define __snd_pcm_lock(pcm) do {} while (0)
1225 #define __snd_pcm_unlock(pcm) do {} while (0)
1226 #define snd_pcm_lock(pcm) do {} while (0)
1227 #define snd_pcm_unlock(pcm) do {} while (0)