Lines Matching defs:params

44 	struct snd_ext_parm params[SND_PCM_IOPLUG_HW_PARAMS];
196 static int rule_mul(snd_pcm_hw_params_t *params, int x, int a, int b)
200 snd_interval_mul(hw_param_interval(params, a),
201 hw_param_interval(params, b), &t);
202 return snd_interval_refine(hw_param_interval(params, x), &t);
206 static int rule_div(snd_pcm_hw_params_t *params, int x, int a, int b)
210 snd_interval_div(hw_param_interval(params, a),
211 hw_param_interval(params, b), &t);
212 return snd_interval_refine(hw_param_interval(params, x), &t);
216 static int rule_muldivk(snd_pcm_hw_params_t *params, int x, int a, int b, int k)
220 snd_interval_muldivk(hw_param_interval(params, a),
221 hw_param_interval(params, b), k, &t);
222 return snd_interval_refine(hw_param_interval(params, x), &t);
226 static int rule_mulkdiv(snd_pcm_hw_params_t *params, int x, int a, int k, int b)
230 snd_interval_mulkdiv(hw_param_interval(params, a), k,
231 hw_param_interval(params, b), &t);
232 return snd_interval_refine(hw_param_interval(params, x), &t);
236 static void dump_parm(snd_pcm_hw_params_t *params)
240 snd_pcm_hw_params_dump(params, log);
246 static int refine_time_and_size(snd_pcm_hw_params_t *params,
252 err = rule_muldivk(params, size, time,
259 err = rule_muldivk(params, bytes, size,
268 static int refine_back_time_and_size(snd_pcm_hw_params_t *params,
274 err = rule_mulkdiv(params, size, bytes, 8, SND_PCM_HW_PARAM_FRAME_BITS);
278 err = rule_mulkdiv(params, time, size, 1000000, SND_PCM_HW_PARAM_RATE);
285 static int snd_pcm_ioplug_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
294 err = snd_ext_parm_mask_refine(hw_param_mask(params, hw_params_type[i]),
295 io->params, i);
302 err = snd_ext_parm_interval_refine(hw_param_interval(params, hw_params_type[i]),
303 io->params, i);
309 if (params->rmask & ((1 << SND_PCM_HW_PARAM_ACCESS) |
314 err = snd_pcm_hw_refine_soft(pcm, params);
320 change1 = refine_time_and_size(params, SND_PCM_HW_PARAM_PERIOD_TIME,
325 err = snd_ext_parm_interval_refine(hw_param_interval(params, SND_PCM_HW_PARAM_PERIOD_BYTES),
326 io->params, SND_PCM_IOPLUG_HW_PERIOD_BYTES);
332 err = refine_back_time_and_size(params, SND_PCM_HW_PARAM_PERIOD_TIME,
339 change1 = refine_time_and_size(params, SND_PCM_HW_PARAM_BUFFER_TIME,
348 err = snd_ext_parm_interval_refine(hw_param_interval(params, SND_PCM_HW_PARAM_BUFFER_BYTES),
349 io->params, SND_PCM_IOPLUG_HW_BUFFER_BYTES);
354 err = rule_div(params, SND_PCM_HW_PARAM_PERIODS,
360 err = snd_ext_parm_interval_refine(hw_param_interval(params, SND_PCM_HW_PARAM_PERIODS),
361 io->params, SND_PCM_IOPLUG_HW_PERIODS);
366 err = rule_mul(params, SND_PCM_HW_PARAM_BUFFER_BYTES,
377 err = refine_back_time_and_size(params, SND_PCM_HW_PARAM_BUFFER_TIME,
385 err = rule_div(params, SND_PCM_HW_PARAM_PERIOD_BYTES,
393 err = snd_ext_parm_interval_refine(hw_param_interval(params, SND_PCM_HW_PARAM_PERIOD_BYTES),
394 io->params, SND_PCM_IOPLUG_HW_PERIOD_BYTES);
397 err = refine_back_time_and_size(params, SND_PCM_HW_PARAM_PERIOD_TIME,
404 params->info = SND_PCM_INFO_BLOCK_TRANSFER;
405 p = &io->params[SND_PCM_IOPLUG_HW_ACCESS];
411 params->info |= SND_PCM_INFO_INTERLEAVED;
415 params->info |= SND_PCM_INFO_NONINTERLEAVED;
420 params->info |= SND_PCM_INFO_PAUSE;
422 params->info |= SND_PCM_INFO_RESUME;
426 dump_parm(params);
431 static int snd_pcm_ioplug_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
436 INTERNAL(snd_pcm_hw_params_get_access)(params, &io->data->access);
437 INTERNAL(snd_pcm_hw_params_get_format)(params, &io->data->format);
438 INTERNAL(snd_pcm_hw_params_get_channels)(params, &io->data->channels);
439 INTERNAL(snd_pcm_hw_params_get_rate)(params, &io->data->rate, 0);
440 INTERNAL(snd_pcm_hw_params_get_period_size)(params, &io->data->period_size, 0);
441 INTERNAL(snd_pcm_hw_params_get_buffer_size)(params, &io->data->buffer_size);
443 err = io->data->callback->hw_params(io->data, params);
446 INTERNAL(snd_pcm_hw_params_get_access)(params, &io->data->access);
447 INTERNAL(snd_pcm_hw_params_get_format)(params, &io->data->format);
448 INTERNAL(snd_pcm_hw_params_get_channels)(params, &io->data->channels);
449 INTERNAL(snd_pcm_hw_params_get_rate)(params, &io->data->rate, 0);
450 INTERNAL(snd_pcm_hw_params_get_period_size)(params, &io->data->period_size, 0);
451 INTERNAL(snd_pcm_hw_params_get_buffer_size)(params, &io->data->buffer_size);
465 static int snd_pcm_ioplug_sw_params(snd_pcm_t *pcm, snd_pcm_sw_params_t *params)
474 err = io->data->callback->sw_params(io->data, params);
895 snd_ext_parm_clear(&io->params[i]);
1163 io->params[type].integer = 1;
1164 return snd_ext_parm_set_list(&io->params[type], num_list, list);
1191 io->params[type].integer = 1;
1192 return snd_ext_parm_set_minmax(&io->params[type], min, max);