diff options
author | Mihail Zenkov <mihail.zenkov@gmail.com> | 2013-03-16 19:50:22 +0000 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-03-20 17:29:49 +0100 |
commit | ea6deceaddea2110f54d72b58b0c5c788174e4de (patch) | |
tree | 96fc93d00b89e011ed800740a7ec373f7b9f04ce | |
parent | a55ce0c348cd16e7853dae11e8e0e1b5a101d884 (diff) | |
download | salsa-lib-ea6deceaddea2110f54d72b58b0c5c788174e4de.tar.gz |
Fix mistakes after refactoring pcm_params.c
Fix some regressions after refactoring pcm_params.c
These mistakes don't allow snd_pcm_hw_param_set_near to establish correct value.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | src/pcm_params.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/pcm_params.c b/src/pcm_params.c index 2bea152..24670e6 100644 --- a/src/pcm_params.c +++ b/src/pcm_params.c @@ -590,11 +590,9 @@ int _snd_pcm_hw_param_set_max(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, save = *params; err = hw_param_set_max(params, var, *val, dir ? *dir : 0); - if (!err) { - err = hw_param_update_var(pcm, params, var, err); - if (!err) - return _snd_pcm_hw_param_get_max(params, var, val, dir); - } + err = hw_param_update_var(pcm, params, var, err); + if (!err) + return _snd_pcm_hw_param_get_max(params, var, val, dir); *params = save; return err; } @@ -683,7 +681,7 @@ int _snd_pcm_hw_param_set(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_hw_params_t save = *params; int err = hw_param_set(params, var, val, dir); err = hw_param_update_var(pcm, params, var, err); - if (err) + if (err < 0) *params = save; return err; } @@ -712,7 +710,7 @@ int _snd_pcm_hw_param_set_integer(snd_pcm_t *pcm, save = *params; i->integer = 1; err = hw_param_update_var(pcm, params, var, 1); - if (err) + if (err < 0) *params = save; return err; } @@ -827,7 +825,7 @@ int _snd_pcm_hw_param_set_near(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, else if (valdir == 0) maxdir = -1; else { - valdir = 1; + maxdir = 1; max--; } save = *params; |