Lines Matching defs:pcm
462 int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min, bool period_event) {
467 pa_assert(pcm);
471 if ((err = snd_pcm_sw_params_current(pcm, swparams)) < 0) {
476 if ((err = snd_pcm_sw_params_set_period_event(pcm, swparams, period_event)) < 0) {
481 if ((err = snd_pcm_sw_params_set_tstamp_mode(pcm, swparams, SND_PCM_TSTAMP_ENABLE)) < 0) {
491 if ((err = snd_pcm_sw_params_set_stop_threshold(pcm, swparams, boundary)) < 0) {
496 if ((err = snd_pcm_sw_params_set_start_threshold(pcm, swparams, (snd_pcm_uframes_t) -1)) < 0) {
501 if ((err = snd_pcm_sw_params_set_avail_min(pcm, swparams, avail_min)) < 0) {
506 if ((err = snd_pcm_sw_params(pcm, swparams)) < 0) {
818 void pa_alsa_dump(pa_log_level_t level, snd_pcm_t *pcm) {
822 pa_assert(pcm);
826 if ((err = snd_pcm_dump(pcm, out)) < 0)
837 void pa_alsa_dump_status(snd_pcm_t *pcm) {
843 pa_assert(pcm);
852 if ((err = snd_pcm_status(pcm, status)) < 0) {
1015 void pa_alsa_init_proplist_pcm(pa_core *c, pa_proplist *p, snd_pcm_t *pcm) {
1023 if ((err = snd_pcm_hw_params_current(pcm, hwparams)) < 0)
1031 if ((err = snd_pcm_info(pcm, info)) < 0)
1067 int pa_alsa_recover_from_poll(snd_pcm_t *pcm, int revents) {
1072 pa_assert(pcm);
1087 state = snd_pcm_state(pcm);
1100 if ((err = snd_pcm_recover(pcm, -EPIPE, 1)) != 0) {
1109 if ((err = snd_pcm_hw_params_any(pcm, hwparams)) < 0) {
1117 if ((err = snd_pcm_resume(pcm)) == 0)
1129 snd_pcm_drop(pcm);
1136 pa_rtpoll_item* pa_alsa_build_pollfd(snd_pcm_t *pcm, pa_rtpoll *rtpoll) {
1141 pa_assert(pcm);
1143 if ((n = snd_pcm_poll_descriptors_count(pcm)) < 0) {
1151 if ((err = snd_pcm_poll_descriptors(pcm, pollfd, (unsigned) n)) < 0) {
1160 snd_pcm_sframes_t pa_alsa_safe_avail(snd_pcm_t *pcm, size_t hwbuf_size, const pa_sample_spec *ss) {
1164 pa_assert(pcm);
1171 n = snd_pcm_avail(pcm);
1182 char *dn = pa_alsa_get_driver_name_by_pcm(pcm);
1192 pa_alsa_dump(PA_LOG_DEBUG, pcm);
1202 int pa_alsa_safe_delay(snd_pcm_t *pcm, snd_pcm_status_t *status, snd_pcm_sframes_t *delay, size_t hwbuf_size, const pa_sample_spec *ss,
1212 pa_assert(pcm);
1234 if ((err = snd_pcm_status(pcm, status)) < 0)
1248 char *dn = pa_alsa_get_driver_name_by_pcm(pcm);
1259 pa_alsa_dump(PA_LOG_DEBUG, pcm);
1276 char *dn = pa_alsa_get_driver_name_by_pcm(pcm);
1286 pa_alsa_dump(PA_LOG_DEBUG, pcm);
1295 char *dn = pa_alsa_get_driver_name_by_pcm(pcm);
1302 pa_alsa_dump(PA_LOG_ERROR, pcm);
1313 int pa_alsa_safe_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas, snd_pcm_uframes_t *offset, snd_pcm_uframes_t *frames, size_t hwbuf_size, const pa_sample_spec *ss) {
1318 pa_assert(pcm);
1327 r = snd_pcm_mmap_begin(pcm, areas, offset, frames);
1338 char *dn = pa_alsa_get_driver_name_by_pcm(pcm);
1348 pa_alsa_dump(PA_LOG_DEBUG, pcm);
1372 char *pa_alsa_get_driver_name_by_pcm(snd_pcm_t *pcm) {
1377 pa_assert(pcm);
1379 if (snd_pcm_info(pcm, info) < 0)
1409 unsigned int *pa_alsa_get_supported_rates(snd_pcm_t *pcm, unsigned int fallback_rate) {
1423 if ((ret = snd_pcm_hw_params_any(pcm, hwparams)) < 0) {
1429 if (snd_pcm_hw_params_test_rate(pcm, hwparams, all_rates[i], 0) == 0) {
1448 if ((ret = snd_pcm_hw_params_set_rate_near(pcm, hwparams, &rates[0], NULL)) < 0) {
1460 pa_sample_format_t *pa_alsa_get_supported_formats(snd_pcm_t *pcm, pa_sample_format_t fallback_format) {
1501 if ((ret = snd_pcm_hw_params_any(pcm, hwparams)) < 0) {
1507 if (snd_pcm_hw_params_test_format(pcm, hwparams, all_formats[i]) == 0) {
1526 if ((ret = snd_pcm_hw_params_set_format(pcm, hwparams, format_trans_to_pa[formats[0]])) < 0) {
1538 bool pa_alsa_pcm_is_hw(snd_pcm_t *pcm) {
1542 pa_assert(pcm);
1544 if (snd_pcm_info(pcm, info) < 0)
1550 bool pa_alsa_pcm_is_modem(snd_pcm_t *pcm) {
1554 pa_assert(pcm);
1556 if (snd_pcm_info(pcm, info) < 0)
1823 snd_mixer_t *pa_alsa_open_mixer_for_pcm(pa_hashmap *mixers, snd_pcm_t *pcm, bool probe) {
1827 pa_assert(pcm);
1829 if (snd_pcm_info(pcm, info) >= 0) {