Lines Matching defs:params

81 static int use_old_hw_params_ioctl(int fd, unsigned int cmd, snd_pcm_hw_params_t *params);
336 static inline int hw_refine_call(snd_pcm_hw_t *pcm_hw, snd_pcm_hw_params_t *params)
340 return ioctl(pcm_hw->fd, SNDRV_PCM_IOCTL_HW_REFINE, params);
341 return use_old_hw_params_ioctl(pcm_hw->fd, SND_PCM_IOCTL_HW_REFINE_OLD, params);
344 static int snd_pcm_hw_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
350 err = _snd_pcm_hw_params_set_format(params, hw->format);
355 err = _snd_pcm_hw_param_set(params, SND_PCM_HW_PARAM_CHANNELS,
361 err = _snd_pcm_hw_param_set_minmax(params, SND_PCM_HW_PARAM_RATE,
367 if (hw_refine_call(hw, params) < 0) {
373 if (params->info != ~0U) {
374 params->info &= ~0xf0000000;
376 params->info |= SND_PCM_INFO_MONOTONIC;
382 #define hw_param_mask(params,var) \
383 &((params)->masks[(var) - SND_PCM_HW_PARAM_FIRST_MASK])
385 static int hw_params_call(snd_pcm_hw_t *pcm_hw, snd_pcm_hw_params_t *params)
391 err = ioctl(pcm_hw->fd, SNDRV_PCM_IOCTL_HW_PARAMS, params);
393 err = use_old_hw_params_ioctl(pcm_hw->fd, SND_PCM_IOCTL_HW_PARAMS_OLD, params);
394 if (err >= 0 && pcm_hw->version < SNDRV_PROTOCOL_VERSION(2, 0, 17) && params->msbits > 0) {
395 snd_mask_t *m = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT);
399 if (width > 0 && params->msbits > (unsigned int)width)
400 params->msbits = width;
406 static int snd_pcm_hw_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t * params)
410 if (hw_params_call(hw, params) < 0) {
415 params->info &= ~0xf0000000;
417 params->info |= SND_PCM_INFO_MONOTONIC;
418 hw->perfect_drain = !!(params->info & SND_PCM_INFO_PERFECT_DRAIN) ||
419 !!(params->flags & SND_PCM_HW_PARAMS_NO_DRAIN_SILENCE);
434 snd_timer_params_t params = {0};
488 snd_timer_params_set_auto_start(&params, 1);
489 snd_timer_params_set_ticks(&params, 1);
490 INTERNAL(snd_timer_params_set_filter)(&params, (1<<SND_TIMER_EVENT_TICK) |
492 err = snd_timer_params(hw->period_timer, &params);
524 static int snd_pcm_hw_sw_params(snd_pcm_t *pcm, snd_pcm_sw_params_t * params)
528 int old_period_event = sw_get_period_event(params);
529 sw_set_period_event(params, 0);
530 if ((snd_pcm_tstamp_t) params->tstamp_mode == pcm->tstamp_mode &&
531 (snd_pcm_tstamp_type_t) params->tstamp_type == pcm->tstamp_type &&
532 params->period_step == pcm->period_step &&
533 params->start_threshold == pcm->start_threshold &&
534 params->stop_threshold == pcm->stop_threshold &&
535 params->silence_threshold == pcm->silence_threshold &&
536 params->silence_size == pcm->silence_size &&
538 hw->mmap_control->avail_min = params->avail_min;
542 if (params->tstamp_type == SND_PCM_TSTAMP_TYPE_MONOTONIC_RAW &&
548 if (params->tstamp_type == SND_PCM_TSTAMP_TYPE_MONOTONIC &&
554 if (ioctl(fd, SNDRV_PCM_IOCTL_SW_PARAMS, params) < 0) {
560 if ((snd_pcm_tstamp_type_t) params->tstamp_type != pcm->tstamp_type) {
562 int on = (snd_pcm_tstamp_type_t) params->tstamp_type ==
570 pcm->tstamp_type = params->tstamp_type;
572 hw->mmap_control->avail_min = params->avail_min;
580 sw_set_period_event(params, old_period_event);
2101 static void snd_pcm_hw_convert_from_old_params(snd_pcm_hw_params_t *params,
2106 memset(params, 0, sizeof(*params));
2107 params->flags = oparams->flags;
2109 params->masks[i].bits[0] = oparams->masks[i];
2110 memcpy(params->intervals, oparams->intervals, sizeof(oparams->intervals));
2111 params->rmask = __OLD_TO_NEW_MASK(oparams->rmask);
2112 params->cmask = __OLD_TO_NEW_MASK(oparams->cmask);
2113 params->info = oparams->info;
2114 params->msbits = oparams->msbits;
2115 params->rate_num = oparams->rate_num;
2116 params->rate_den = oparams->rate_den;
2117 params->fifo_size = oparams->fifo_size;
2121 snd_pcm_hw_params_t *params,
2127 oparams->flags = params->flags;
2129 oparams->masks[i] = params->masks[i].bits[0];
2130 for (j = 1; j < sizeof(params->masks[i].bits) / sizeof(unsigned int); j++)
2131 if (params->masks[i].bits[j]) {
2136 memcpy(oparams->intervals, params->intervals, sizeof(oparams->intervals));
2137 oparams->rmask = __NEW_TO_OLD_MASK(params->rmask);
2138 oparams->cmask = __NEW_TO_OLD_MASK(params->cmask);
2139 oparams->info = params->info;
2140 oparams->msbits = params->msbits;
2141 oparams->rate_num = params->rate_num;
2142 oparams->rate_den = params->rate_den;
2143 oparams->fifo_size = params->fifo_size;
2146 static int use_old_hw_params_ioctl(int fd, unsigned int cmd, snd_pcm_hw_params_t *params)
2152 snd_pcm_hw_convert_to_old_params(&oparams, params, &cmask);
2154 snd_pcm_hw_convert_from_old_params(params, &oparams);
2155 params->cmask |= cmask;