At Mon, 13 Oct 2008 16:01:07 +0200, Matthieu CASTET wrote:
Hi,
Takashi Iwai a écrit :
At Mon, 13 Oct 2008 11:49:03 +0200, Matthieu CASTET wrote:
Hi,
it seems there is a missing implementation of _snd_pcm_hw_param_test function in src/pcm_params.c .
It is used in pcm_macros.h by snd_pcm_hw_params_test_xxx functions.
Thanks for reporting.
Thanks for your quick reply.
Does the patch below works?
Hum,
dir is a pointer, but _snd_pcm_hw_param_set want a integer.
Oops, the fixed patch is below.
BTW, some application expect snd_config (from cards.c) to be not null after a call to snd_config_update.
Hm, which apps?
Basically the non-null pointer isn't guaranteed even in the API definition, so it's not necessarily to implement. But, if many apps assume it, it becomes as a de facto standard, and we need to give a workaround...
thanks,
Takashi
diff -r f481dcc66eae src/pcm_params.c --- a/src/pcm_params.c Tue Sep 30 15:38:29 2008 +0200 +++ b/src/pcm_params.c Mon Oct 13 16:22:35 2008 +0200 @@ -754,6 +754,15 @@ return err; }
+int _snd_pcm_hw_param_test(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, + int var, unsigned int val, int *dir) +{ + snd_pcm_hw_params_t save = *params; + int err = _snd_pcm_hw_param_set(pcm, params, var, val, dir ? *dir : 0); + *params = save; + return err; +} + int _snd_pcm_hw_param_set_integer(snd_pcm_t *pcm, snd_pcm_hw_params_t *params, int var)