summaryrefslogtreecommitdiffstats
path: root/xbmc/cores/RetroPlayer/audio
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 18:07:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 18:07:22 +0000
commitc04dcc2e7d834218ef2d4194331e383402495ae1 (patch)
tree7333e38d10d75386e60f336b80c2443c1166031d /xbmc/cores/RetroPlayer/audio
parentInitial commit. (diff)
downloadkodi-c04dcc2e7d834218ef2d4194331e383402495ae1.tar.xz
kodi-c04dcc2e7d834218ef2d4194331e383402495ae1.zip
Adding upstream version 2:20.4+dfsg.upstream/2%20.4+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'xbmc/cores/RetroPlayer/audio')
-rw-r--r--xbmc/cores/RetroPlayer/audio/AudioTranslator.cpp74
-rw-r--r--xbmc/cores/RetroPlayer/audio/AudioTranslator.h36
-rw-r--r--xbmc/cores/RetroPlayer/audio/CMakeLists.txt7
3 files changed, 117 insertions, 0 deletions
diff --git a/xbmc/cores/RetroPlayer/audio/AudioTranslator.cpp b/xbmc/cores/RetroPlayer/audio/AudioTranslator.cpp
new file mode 100644
index 0000000..91f37ec
--- /dev/null
+++ b/xbmc/cores/RetroPlayer/audio/AudioTranslator.cpp
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2017-2018 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#include "AudioTranslator.h"
+
+using namespace KODI;
+using namespace RETRO;
+
+AEDataFormat CAudioTranslator::TranslatePCMFormat(PCMFormat format)
+{
+ switch (format)
+ {
+ case PCMFormat::FMT_S16NE:
+ return AE_FMT_S16NE;
+ default:
+ break;
+ }
+ return AE_FMT_INVALID;
+}
+
+AEChannel CAudioTranslator::TranslateAudioChannel(AudioChannel channel)
+{
+ switch (channel)
+ {
+ case AudioChannel::CH_FL:
+ return AE_CH_FL;
+ case AudioChannel::CH_FR:
+ return AE_CH_FR;
+ case AudioChannel::CH_FC:
+ return AE_CH_FC;
+ case AudioChannel::CH_LFE:
+ return AE_CH_LFE;
+ case AudioChannel::CH_BL:
+ return AE_CH_BL;
+ case AudioChannel::CH_BR:
+ return AE_CH_BR;
+ case AudioChannel::CH_FLOC:
+ return AE_CH_FLOC;
+ case AudioChannel::CH_FROC:
+ return AE_CH_FROC;
+ case AudioChannel::CH_BC:
+ return AE_CH_BC;
+ case AudioChannel::CH_SL:
+ return AE_CH_SL;
+ case AudioChannel::CH_SR:
+ return AE_CH_SR;
+ case AudioChannel::CH_TFL:
+ return AE_CH_TFL;
+ case AudioChannel::CH_TFR:
+ return AE_CH_TFR;
+ case AudioChannel::CH_TFC:
+ return AE_CH_TFC;
+ case AudioChannel::CH_TC:
+ return AE_CH_TC;
+ case AudioChannel::CH_TBL:
+ return AE_CH_TBL;
+ case AudioChannel::CH_TBR:
+ return AE_CH_TBR;
+ case AudioChannel::CH_TBC:
+ return AE_CH_TBC;
+ case AudioChannel::CH_BLOC:
+ return AE_CH_BLOC;
+ case AudioChannel::CH_BROC:
+ return AE_CH_BROC;
+ default:
+ break;
+ }
+ return AE_CH_NULL;
+}
diff --git a/xbmc/cores/RetroPlayer/audio/AudioTranslator.h b/xbmc/cores/RetroPlayer/audio/AudioTranslator.h
new file mode 100644
index 0000000..f8935d8
--- /dev/null
+++ b/xbmc/cores/RetroPlayer/audio/AudioTranslator.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2017-2018 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#pragma once
+
+#include "cores/AudioEngine/Utils/AEChannelData.h"
+#include "cores/RetroPlayer/streams/RetroPlayerStreamTypes.h"
+
+namespace KODI
+{
+namespace RETRO
+{
+class CAudioTranslator
+{
+public:
+ /*!
+ * \brief Translate audio PCM format (Game API to AudioEngine).
+ * \param format The audio PCM format to translate.
+ * \return Translated audio PCM format.
+ */
+ static AEDataFormat TranslatePCMFormat(PCMFormat format);
+
+ /*!
+ * \brief Translate audio channels (Game API to AudioEngine).
+ * \param format The audio channels to translate.
+ * \return Translated audio channels.
+ */
+ static AEChannel TranslateAudioChannel(AudioChannel channel);
+};
+} // namespace RETRO
+} // namespace KODI
diff --git a/xbmc/cores/RetroPlayer/audio/CMakeLists.txt b/xbmc/cores/RetroPlayer/audio/CMakeLists.txt
new file mode 100644
index 0000000..1cbb113
--- /dev/null
+++ b/xbmc/cores/RetroPlayer/audio/CMakeLists.txt
@@ -0,0 +1,7 @@
+set(SOURCES AudioTranslator.cpp
+)
+
+set(HEADERS AudioTranslator.h
+)
+
+core_add_library(rp_audio)