aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMihail Zenkov <mihail.zenkov@gmail.com>2013-03-16 19:50:22 +0000
committerTakashi Iwai <tiwai@suse.de>2013-03-20 17:29:49 +0100
commitea6deceaddea2110f54d72b58b0c5c788174e4de (patch)
tree96fc93d00b89e011ed800740a7ec373f7b9f04ce
parenta55ce0c348cd16e7853dae11e8e0e1b5a101d884 (diff)
downloadsalsa-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.c14
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;