[MPlayer-users] New ALSA lib causes MPlayer's configure to not detect ALSA
Stephen Stocker
lpar at par1.net
Thu Nov 20 15:16:51 CET 2003
Still the same problem. The latest ALSA lib (CVS since Oct 29) will
cause a failure to detect ALSA's presence. (All recent CVS releases of
MPlayer).
The following is a "NOTES" from all recent ALSA CVS versions.
(Currently at version 1.0.0pre1):
---
Old versus new PCM API (values returned using indirect pointers)
================================================================
>From the binary compatibility view, there is no change. For compilation,
1.0 ALSA applications do not need any change. The older applications must
use this include sequence:
#define ALSA_PCM_OLD_HW_PARAMS_API
#define ALSA_PCM_OLD_SW_PARAMS_API
#include <alsa/asoundlib.h>
If you use already the new API, you may remove old defines selecting
this API, because they are no longer used:
#define ALSA_PCM_NEW_HW_PARAMS_API
#define ALSA_PCM_NEW_SW_PARAMS_API
---
And MPlayer's configure.log:
---
============ Checking for ALSA audio ============
#include <sys/asoundlib.h>
int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==5)); }
cc /tmp/mplayer-conf-9475-14890.c -o /tmp/mplayer-conf-4793-14890.o -lasound -ldl -lpthread
In file included from /tmp/mplayer-conf-9475-14890.c:1:
/usr/include/sys/asoundlib.h:1: warning: #warning This header is deprecated, use <alsa/asoundlib.h> instead.
ldd /tmp/mplayer-conf-4793-14890.o
libasound.so.2 => /usr/lib/libasound.so.2 (0x4001a000)
libdl.so.2 => /lib/libdl.so.2 (0x400b9000)
libpthread.so.0 => /lib/libpthread.so.0 (0x400bc000)
libc.so.6 => /lib/libc.so.6 (0x400d1000)
libm.so.6 => /lib/libm.so.6 (0x401f4000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
#include <sys/asoundlib.h>
int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
cc /tmp/mplayer-conf-9475-14890.c -o /tmp/mplayer-conf-4793-14890.o -lasound -ldl -lpthread
In file included from /tmp/mplayer-conf-9475-14890.c:1:
/usr/include/sys/asoundlib.h:1: warning: #warning This header is deprecated, use <alsa/asoundlib.h> instead.
ldd /tmp/mplayer-conf-4793-14890.o
libasound.so.2 => /usr/lib/libasound.so.2 (0x4001a000)
libdl.so.2 => /lib/libdl.so.2 (0x400b9000)
libpthread.so.0 => /lib/libpthread.so.0 (0x400bc000)
libc.so.6 => /lib/libc.so.6 (0x400d1000)
libm.so.6 => /lib/libm.so.6 (0x401f4000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
#include <alsa/asoundlib.h>
int main(void) { return (!(SND_LIB_MAJOR==0 && SND_LIB_MINOR==9)); }
cc /tmp/mplayer-conf-9475-14890.c -o /tmp/mplayer-conf-4793-14890.o -lasound -ldl -lpthread
ldd /tmp/mplayer-conf-4793-14890.o
libasound.so.2 => /usr/lib/libasound.so.2 (0x4001a000)
libdl.so.2 => /lib/libdl.so.2 (0x400b9000)
libpthread.so.0 => /lib/libpthread.so.0 (0x400bc000)
libc.so.6 => /lib/libc.so.6 (0x400d1000)
libm.so.6 => /lib/libm.so.6 (0x401f4000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Result is: no
##########################################
---
I even tried removing the test for ALSA in MPlayer's configure.
Numerous errors of the libao2/ao_alsa9.c compile lead me to think that
the above-mentioned defines (of the "old" ALSA API need to be included
somewhere. Also, as noted in the ALSA file, there's no binary
incompatibility, so compiling MPlayer against the old ALSA libs, then
removing them and reinstalling the new libs works fine. It's just
somewhat of a pain to do it. And as I understand it, this "new" API is
more or less finalized for ALSA.
Could a developer please look into this? Thanks.
More information about the MPlayer-users
mailing list