aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfuzzard <fuzzard@users.noreply.github.com>2023-10-17 11:11:13 +1000
committerGitHub <noreply@github.com>2023-10-17 11:11:13 +1000
commit871b40cdd90adec56b94974ce9014dc854336cc0 (patch)
tree03dfa08c16f80ca27a8e5c2b66f41ff34239970a
parent355521021a5a4c7a4efdc6217207b2e02ec00872 (diff)
parent8905d673db80bac1312c925d545358e557384e21 (diff)
downloadxbmc-871b40cdd90adec56b94974ce9014dc854336cc0.tar.xz
Merge pull request #23886 from lrusak/freebsd-audio-app-params
CPlatformFreebsd: use app params to set audio backend
-rw-r--r--cmake/scripts/freebsd/ArchSetup.cmake2
-rw-r--r--tools/Linux/kodi.sh.in2
-rw-r--r--xbmc/platform/freebsd/PlatformFreebsd.cpp16
3 files changed, 12 insertions, 8 deletions
diff --git a/cmake/scripts/freebsd/ArchSetup.cmake b/cmake/scripts/freebsd/ArchSetup.cmake
index 87f4f0c9cc..9e128df162 100644
--- a/cmake/scripts/freebsd/ArchSetup.cmake
+++ b/cmake/scripts/freebsd/ArchSetup.cmake
@@ -44,3 +44,5 @@ if(NOT USE_INTERNAL_LIBS)
set(USE_INTERNAL_LIBS OFF)
endif()
endif()
+
+list(APPEND AUDIO_BACKENDS_LIST "oss")
diff --git a/tools/Linux/kodi.sh.in b/tools/Linux/kodi.sh.in
index d68e23516d..52d4646db5 100644
--- a/tools/Linux/kodi.sh.in
+++ b/tools/Linux/kodi.sh.in
@@ -182,6 +182,8 @@ if [ -n "${KODI_AE_SINK}" ]; then
ENV_ARGS="--audio-backend=pulseaudio"
elif [ "${KODI_AE_SINK}" = "ALSA" ]; then
ENV_ARGS="--audio-backend=alsa"
+ elif [ "${KODI_AE_SINK}" = "OSS" ]; then
+ ENV_ARGS="--audio-backend=oss"
elif [ "${KODI_AE_SINK}" = "SNDIO" ]; then
ENV_ARGS="--audio-backend=sndio"
elif [ "${KODI_AE_SINK}" = "ALSA+PULSE" ]; then
diff --git a/xbmc/platform/freebsd/PlatformFreebsd.cpp b/xbmc/platform/freebsd/PlatformFreebsd.cpp
index b65501b522..c949a339cb 100644
--- a/xbmc/platform/freebsd/PlatformFreebsd.cpp
+++ b/xbmc/platform/freebsd/PlatformFreebsd.cpp
@@ -8,6 +8,8 @@
#include "PlatformFreebsd.h"
+#include "ServiceBroker.h"
+#include "application/AppParams.h"
#include "utils/StringUtils.h"
#include "platform/freebsd/OptionalsReg.h"
@@ -79,27 +81,25 @@ bool CPlatformFreebsd::InitStageOne()
CLinuxPowerSyscall::Register();
- std::string envSink;
- if (getenv("KODI_AE_SINK"))
- envSink = getenv("KODI_AE_SINK");
+ std::string_view sink = CServiceBroker::GetAppParams()->GetAudioBackend();
- if (StringUtils::EqualsNoCase(envSink, "ALSA"))
+ if (sink == "alsa")
{
OPTIONALS::ALSARegister();
}
- else if (StringUtils::EqualsNoCase(envSink, "PULSE"))
+ else if (sink == "pulseaudio")
{
OPTIONALS::PulseAudioRegister();
}
- else if (StringUtils::EqualsNoCase(envSink, "OSS"))
+ else if (sink == "oss")
{
OPTIONALS::OSSRegister();
}
- else if (StringUtils::EqualsNoCase(envSink, "SNDIO"))
+ else if (sink == "sndio")
{
OPTIONALS::SndioRegister();
}
- else if (StringUtils::EqualsNoCase(envSink, "ALSA+PULSE"))
+ else if (sink == "alsa+pulseaudio")
{
OPTIONALS::ALSARegister();
OPTIONALS::PulseAudioRegister();