]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Added _snd_pcm_hw_param_setempty
authorAbramo Bagnara <abramo@alsa-project.org>
Fri, 19 Jan 2001 16:19:29 +0000 (16:19 +0000)
committerAbramo Bagnara <abramo@alsa-project.org>
Fri, 19 Jan 2001 16:19:29 +0000 (16:19 +0000)
src/pcm/interval_inline.h
src/pcm/pcm_local.h
src/pcm/pcm_params.c

index a14c83eb940f56a20f9c656a6e47f604d4b518e6..d3aeb5ce4041755a56d9e35dbe963ec06c86f4a7 100644 (file)
@@ -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;
index c869a1d367b4edaed5497ad3d8dcdc35fe8b38bc..c044c4dd5db2c1b237bd13597ec4f69e434168e1 100644 (file)
@@ -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);
index 6f1151e7df315c0e471b7802b609c01d856513ff..7a016f26f86010c4bf791466ab5d3968a099569b 100644 (file)
@@ -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)
 {