madplay: add patch to switch to the new ALSA API
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 24 Feb 2010 20:55:16 +0000 (21:55 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Wed, 24 Feb 2010 21:45:30 +0000 (22:45 +0100)
commit97b392b98468859ab2366995b6bee4140b38e388
tree8ee63e97f35ef1b7cb94ad5eabe9abc573ddbe13
parentae6a7222ea8a8e9dbfd864de641de09f9c6968e3
madplay: add patch to switch to the new ALSA API

madplay was failing to build with errors such as :

audio_alsa.o: In function `config':
audio_alsa.c:(.text+0x200): undefined reference to `snd_pcm_hw_params_set_rate_near@ALSA_0.9'
audio_alsa.c:(.text+0x25c): undefined reference to `snd_pcm_hw_params_set_buffer_time_near@ALSA_0.9'
audio_alsa.c:(.text+0x284): undefined reference to `snd_pcm_hw_params_get_buffer_size@ALSA_0.9'
audio_alsa.c:(.text+0x2a4): undefined reference to `snd_pcm_hw_params_set_period_time_near@ALSA_0.9'
audio_alsa.c:(.text+0x2d4): undefined reference to `snd_pcm_hw_params_get_period_size@ALSA_0.9'

The ALSA library uses symbol versioning by default, to handle ABI
changes. However, since uClibc doesn't seem to support symbol
versioning, we disable this when building the ALSA library by passing
--without-versioned.

However, madplay relies on the old ALSA ABI, so even without symbol
versioning, references to versioned symbols are generated (functions
with the same name, but different API, exist in the old and new API).

The easiest solution is to switch madplay to the new API. This is done
thanks to a patch written by Micha Nelissen <micha@neli.hopto.org> and
available at http://article.gmane.org/gmane.comp.audio.mad.devel/729.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/multimedia/madplay/madplay-0.15.2b-switch-to-new-alsa-api.patch [new file with mode: 0644]