diff options
-rw-r--r-- | configure.in | 1 | ||||
-rw-r--r-- | tools/depends/target/Makefile | 5 | ||||
-rw-r--r-- | xbmc/cores/AudioEngine/AESinkFactory.cpp | 15 |
3 files changed, 17 insertions, 4 deletions
diff --git a/configure.in b/configure.in index a82483e82d..7acb37af9b 100644 --- a/configure.in +++ b/configure.in @@ -718,7 +718,6 @@ case $use_platform in use_arch="arm" use_cpu=arm1176jzf-s use_hardcoded_tables="yes" - use_alsa="no" ARCH="arm" AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer]) USE_OMXLIB=1; AC_DEFINE([HAVE_OMXLIB],[1],["Define to 1 if OMX libs is enabled"]) diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile index f5374b2e54..73a939cde8 100644 --- a/tools/depends/target/Makefile +++ b/tools/depends/target/Makefile @@ -58,10 +58,11 @@ LINUX_SYSTEM_LIBS= ifeq ($(OS),linux) #not for raspberry pi ifneq ($(TARGET_PLATFORM),raspberry-pi) - DEPENDS += alsa-lib libsdl linux-system-libs - ALSA_LIB = alsa-lib + DEPENDS += libsdl linux-system-libs LINUX_SYSTEM_LIBS = linux-system-libs endif + DEPENDS += alsa-lib + ALSA_LIB = alsa-lib FFMPEG_DEPENDS = gnutls endif diff --git a/xbmc/cores/AudioEngine/AESinkFactory.cpp b/xbmc/cores/AudioEngine/AESinkFactory.cpp index e42d9738c5..715b4f113a 100644 --- a/xbmc/cores/AudioEngine/AESinkFactory.cpp +++ b/xbmc/cores/AudioEngine/AESinkFactory.cpp @@ -27,6 +27,7 @@ #include "Sinks/AESinkAUDIOTRACK.h" #elif defined(TARGET_RASPBERRY_PI) #include "Sinks/AESinkPi.h" + #include "Sinks/AESinkALSA.h" #elif defined(TARGET_DARWIN_IOS) #include "Sinks/AESinkDARWINIOS.h" #elif defined(TARGET_DARWIN_OSX) @@ -66,6 +67,7 @@ void CAESinkFactory::ParseDevice(std::string &device, std::string &driver) driver == "AUDIOTRACK" || #elif defined(TARGET_RASPBERRY_PI) driver == "PI" || + driver == "ALSA" || #elif defined(TARGET_DARWIN_IOS) driver == "DARWINIOS" || #elif defined(TARGET_DARWIN_OSX) @@ -105,7 +107,12 @@ IAESink *CAESinkFactory::TrySink(std::string &driver, std::string &device, AEAud #elif defined(TARGET_ANDROID) sink = new CAESinkAUDIOTRACK(); #elif defined(TARGET_RASPBERRY_PI) + if (driver == "PI") sink = new CAESinkPi(); + #if defined(HAS_ALSA) + if (driver == "ALSA") + sink = new CAESinkALSA(); + #endif #elif defined(TARGET_DARWIN_IOS) sink = new CAESinkDARWINIOS(); #elif defined(TARGET_DARWIN_OSX) @@ -196,7 +203,13 @@ void CAESinkFactory::EnumerateEx(AESinkInfoList &list, bool force) CAESinkPi::EnumerateDevicesEx(info.m_deviceInfoList, force); if(!info.m_deviceInfoList.empty()) list.push_back(info); - + #if defined(HAS_ALSA) + info.m_deviceInfoList.clear(); + info.m_sinkName = "ALSA"; + CAESinkALSA::EnumerateDevicesEx(info.m_deviceInfoList, force); + if(!info.m_deviceInfoList.empty()) + list.push_back(info); + #endif #elif defined(TARGET_DARWIN_IOS) info.m_deviceInfoList.clear(); |