diff --git a/src/core/libraries/audio/cubeb_audio.cpp b/src/core/libraries/audio/cubeb_audio.cpp index 9619af291..949e0e40a 100644 --- a/src/core/libraries/audio/cubeb_audio.cpp +++ b/src/core/libraries/audio/cubeb_audio.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +#include #include #include "common/assert.h" @@ -130,6 +131,7 @@ struct CubebStream { }; CubebAudioOut::CubebAudioOut() { + cubeb_set_log_callback(CUBEB_LOG_NORMAL, LogCallback); if (const auto ret = cubeb_init(&ctx, "shadPS4", nullptr); ret != CUBEB_OK) { LOG_CRITICAL(Lib_AudioOut, "Failed to create cubeb context: {}", ret); } @@ -168,4 +170,13 @@ void CubebAudioOut::SetVolume(void* impl, const std::array& ch_volumes) static_cast(impl)->SetVolume(ch_volumes); } +void CubebAudioOut::LogCallback(const char* format, ...) { + std::array buffer{}; + std::va_list args; + va_start(args, format); + vsnprintf(buffer.data(), buffer.size(), format, args); + va_end(args); + LOG_DEBUG(Lib_Audio3d, "[cubeb] {}", buffer.data()); +} + } // namespace Libraries::AudioOut diff --git a/src/core/libraries/audio/cubeb_audio.h b/src/core/libraries/audio/cubeb_audio.h index 2b2693f23..eff5be5ba 100644 --- a/src/core/libraries/audio/cubeb_audio.h +++ b/src/core/libraries/audio/cubeb_audio.h @@ -21,6 +21,8 @@ public: void SetVolume(void* impl, const std::array& ch_volumes) override; private: + static void LogCallback(const char* format, ...); + cubeb* ctx = nullptr; };