From d41c210493d290c4cce875e0d3e97cfc3a4f486f Mon Sep 17 00:00:00 2001 From: Abramo Bagnara Date: Fri, 19 Jan 2001 16:19:29 +0000 Subject: [PATCH] Added _snd_pcm_hw_param_setempty --- src/pcm/interval_inline.h | 3 +-- src/pcm/pcm_local.h | 2 ++ src/pcm/pcm_params.c | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/pcm/interval_inline.h b/src/pcm/interval_inline.h index a14c83eb..d3aeb5ce 100644 --- a/src/pcm/interval_inline.h +++ b/src/pcm/interval_inline.h @@ -99,8 +99,7 @@ INLINE int interval_setinteger(interval_t *i) INLINE void interval_round(interval_t *i) { - assert(!interval_empty(i)); - if (i->integer) + if (i->integer || interval_empty(i)) return; i->openmin = 0; i->openmax = 0; diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h index c869a1d3..c044c4dd 100644 --- a/src/pcm/pcm_local.h +++ b/src/pcm/pcm_local.h @@ -328,6 +328,8 @@ int snd_pcm_hw_params_slave(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, void _snd_pcm_hw_params_any(snd_pcm_hw_params_t *params); +void _snd_pcm_hw_param_setempty(snd_pcm_hw_params_t *params, + snd_pcm_hw_param_t var); int _snd_pcm_hw_param_refine_interval(snd_pcm_hw_params_t *params, snd_pcm_hw_param_t var, const interval_t *val); diff --git a/src/pcm/pcm_params.c b/src/pcm/pcm_params.c index 6f1151e7..7a016f26 100644 --- a/src/pcm/pcm_params.c +++ b/src/pcm/pcm_params.c @@ -250,6 +250,22 @@ int _snd_pcm_hw_param_refine_interval(snd_pcm_hw_params_t *params, return changed; } +void _snd_pcm_hw_param_setempty(snd_pcm_hw_params_t *params, + snd_pcm_hw_param_t var) +{ + if (hw_is_mask(var)) { + mask_none(hw_param_mask(params, var)); + params->cmask |= 1 << var; + params->rmask |= 1 << var; + } else if (hw_is_interval(var)) { + interval_none(hw_param_interval(params, var)); + params->cmask |= 1 << var; + params->rmask |= 1 << var; + } else { + assert(0); + } +} + int _snd_pcm_hw_param_setinteger(snd_pcm_hw_params_t *params, snd_pcm_hw_param_t var) { -- 2.47.1