[alsa-devel] [PATCH] salsa-lib: Fix mistakes after refactoring pcm_params.c
Mihail Zenkov
mihail.zenkov at gmail.com
Sat Mar 16 20:50:22 CET 2013
Fix some regressions after refactoring pcm_params.c
These mistakes don't allow snd_pcm_hw_param_set_near to establish correct value.
--- salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884/src/pcm_params.c
+++ salsa-lib-a55ce0c348cd16e7853dae11e8e0e1b5a101d884-1/src/pcm_params.c
@@ -590,11 +590,9 @@
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 @@
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 @@
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 @@
else if (valdir == 0)
maxdir = -1;
else {
- valdir = 1;
+ maxdir = 1;
max--;
}
save = *params;
More information about the Alsa-devel
mailing list