At runtime, libao will load all plugins, even ones that will never be used.
Since libao will prefer ALSA over OSS by default anyway, it is pretty safe
to exclude the OSS plugin.
There is no configure option for disabling the OSS plugin, so we remove
the shared object in a post-install hook.
Also disable alsa oss emulation workaround as it no longer will be used with
alsa.
[Peter: explain why --disable-broken-oss is passed]
Signed-Off-By: Maarten ter Huurne <maarten@treewalker.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
LIBAO_LICENSE = GPLv2+
LIBAO_LICENSE_FILES = COPYING
LIBAO_CONF_OPT = --disable-esd --disable-wmm --disable-arts \
- --disable-nas --disable-pulse
+ --disable-nas --disable-pulse --disable-broken-oss
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
LIBAO_DEPENDENCIES += alsa-lib
LIBAO_CONF_OPT += --enable-alsa --enable-alsa-mmap
+
+# Remove the OSS plugin if ALSA is enabled, as libao will prefer ALSA anyway
+define LIBAO_REMOVE_OSS_PLUGIN
+ rm -f $(TARGET_DIR)/usr/lib/ao/plugins-4/liboss.so
+endef
+LIBAO_POST_INSTALL_TARGET_HOOKS += LIBAO_REMOVE_OSS_PLUGIN
else
LIBAO_CONF_OPT += --disable-alsa
endif