At Tue, 14 Oct 2008 10:10:36 +0200, I wrote:
At Tue, 14 Oct 2008 09:46:16 +0200, Matthieu CASTET wrote:
Takashi Iwai a écrit :
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.
Ok sound better. But why _snd_pcm_hw_param_test take a pointer and not a integer. All snd_pcm_hw_params_test_xxx seems to take a dir as integer.
When you pass a pointer pointing the integer value 0, it returns the direction it goes in return.
I released version 0.0.20 just including this fix now.
However...
BTW, some application expect snd_config (from cards.c) to be not null after a call to snd_config_update.
Hm, which apps?
portaudio.
One app isn't always enough to change the thing :) OTOH, if just faking a pointer (i.e. passing any non-null) fixes the problem, it might be a reasonable workaround...
... this problem still remains. Can you check the patch like below could work around the problem?
thanks,
Takashi
diff -r 590f5dd3cd39 src/cards.c --- a/src/cards.c Thu Oct 16 17:08:49 2008 +0200 +++ b/src/cards.c Thu Oct 16 17:11:55 2008 +0200 @@ -174,4 +174,7 @@ return 0; }
-snd_config_t *snd_config; /* placeholder */ +/* This is just a placeholder, but contains non-NULL value for apps + * that check the value by some reason + */ +snd_config_t *snd_config = (snd_config_t*)1;