[alsa-devel] snd_pcm_hw_params_get_xxx question

Takashi Iwai tiwai at suse.de
Wed Nov 7 13:24:04 CET 2007


At Tue, 6 Nov 2007 18:21:01 -0800 (PST),
Ben C wrote:
> 
> Hello,
> 
> I'm trying to develop an external PCM plugin. I'm calling snd_pcm_hw_params_get_xxx functions to retrieve some values. I got everything to work as expected on alsa-lib 1.0.15. However the client's setup is 1.0.13, and I don't think they want to upgrade.
> 
> For 1.0.13, everything compiled and linked fine after some minor changes. But when I called say snd_pcm_hw_params_get_rate(hw, &val, &dir), I was expecting the return value to be a status, and val to contain "44100" which was the case for 1.0.15. However for 1.0.13, val is 0, but returned status = 44100?
> 
> I looked in the header files, and 1.0.13 seems to be the same as 1.0.15 in regards to this function. Am I accidentally using some sort of old API that was intended for backward compatibility? If so, what should I do to use the "new" API's?

Yes, it sounds like you're accessing the old API.  Do you use
libasound from a module?  If it's used from a module, the module
itself should be built once with link to libasound.  For example,
	$(CC) -shared -o MODULE.so -lasound
In such a way, the properly versioned symbol is chosen.  The weak link
results in the old API.  This is irrelveant whether it's ALSA 1.0.13
or 1.0.15.


Takashi


More information about the Alsa-devel mailing list