diff --git a/src/core/host_interface.cpp b/src/core/host_interface.cpp index 45fa4c637..4022d441a 100644 --- a/src/core/host_interface.cpp +++ b/src/core/host_interface.cpp @@ -681,7 +681,7 @@ void HostInterface::SetDefaultSettings() m_settings.display_fullscreen = false; m_settings.video_sync_enabled = true; - m_settings.audio_backend = AudioBackend::Default; + m_settings.audio_backend = AudioBackend::Cubeb; m_settings.audio_sync_enabled = true; m_settings.bios_path = GetUserDirectoryRelativePath("bios/scph1001.bin"); diff --git a/src/core/settings.cpp b/src/core/settings.cpp index 0c2e76595..0797ae7e5 100644 --- a/src/core/settings.cpp +++ b/src/core/settings.cpp @@ -29,7 +29,7 @@ void Settings::Load(SettingsInterface& si) video_sync_enabled = si.GetBoolValue("Display", "VSync", true); audio_backend = - ParseAudioBackend(si.GetStringValue("Audio", "Backend", "Default").c_str()).value_or(AudioBackend::Default); + ParseAudioBackend(si.GetStringValue("Audio", "Backend", "Cubeb").c_str()).value_or(AudioBackend::Cubeb); audio_sync_enabled = si.GetBoolValue("Audio", "Sync", true); bios_path = si.GetStringValue("BIOS", "Path", "scph1001.bin"); @@ -203,8 +203,8 @@ const char* Settings::GetRendererDisplayName(GPURenderer renderer) return s_gpu_renderer_display_names[static_cast(renderer)]; } -static std::array s_audio_backend_names = {{"Null", "Default", "Cubeb"}}; -static std::array s_audio_backend_display_names = {{"Null (No Output)", "Default", "Cubeb"}}; +static std::array s_audio_backend_names = {{"Null", "Cubeb", "SDL"}}; +static std::array s_audio_backend_display_names = {{"Null (No Output)", "Cubeb", "SDL"}}; std::optional Settings::ParseAudioBackend(const char* str) { diff --git a/src/core/settings.h b/src/core/settings.h index 3ff7d2191..d979bceae 100644 --- a/src/core/settings.h +++ b/src/core/settings.h @@ -50,7 +50,7 @@ struct Settings bool display_fullscreen = false; bool video_sync_enabled = true; - AudioBackend audio_backend = AudioBackend::Default; + AudioBackend audio_backend = AudioBackend::Cubeb; bool audio_sync_enabled = true; struct DebugSettings diff --git a/src/core/types.h b/src/core/types.h index 2d63e602d..7800da74a 100644 --- a/src/core/types.h +++ b/src/core/types.h @@ -52,8 +52,8 @@ enum class GPURenderer : u8 enum class AudioBackend : u8 { Null, - Default, Cubeb, + SDL, Count }; diff --git a/src/duckstation-qt/qthostinterface.cpp b/src/duckstation-qt/qthostinterface.cpp index 5ae49e791..5883a681f 100644 --- a/src/duckstation-qt/qthostinterface.cpp +++ b/src/duckstation-qt/qthostinterface.cpp @@ -252,13 +252,12 @@ std::unique_ptr QtHostInterface::CreateAudioStream(AudioBackend bac { switch (backend) { - case AudioBackend::Default: - case AudioBackend::Cubeb: - return AudioStream::CreateCubebAudioStream(); - case AudioBackend::Null: return AudioStream::CreateNullAudioStream(); + case AudioBackend::Cubeb: + return AudioStream::CreateCubebAudioStream(); + default: return nullptr; } diff --git a/src/duckstation-sdl/sdl_host_interface.cpp b/src/duckstation-sdl/sdl_host_interface.cpp index e0467353e..facbb32e7 100644 --- a/src/duckstation-sdl/sdl_host_interface.cpp +++ b/src/duckstation-sdl/sdl_host_interface.cpp @@ -93,7 +93,7 @@ bool SDLHostInterface::CreateDisplay() std::unique_ptr display; #ifdef WIN32 display = UseOpenGLRenderer() ? OpenGLHostDisplay::Create(m_window, debug_device) : - D3D11HostDisplay::Create(m_window, debug_device); + D3D11HostDisplay::Create(m_window, debug_device); #else display = OpenGLHostDisplay::Create(m_window, debug_device); #endif @@ -162,7 +162,7 @@ void SDLHostInterface::ReleaseHostDisplay() std::unique_ptr SDLHostInterface::CreateAudioStream(AudioBackend backend) { - switch (m_settings.audio_backend) + switch (backend) { case AudioBackend::Null: return AudioStream::CreateNullAudioStream(); @@ -170,8 +170,8 @@ std::unique_ptr SDLHostInterface::CreateAudioStream(AudioBackend ba case AudioBackend::Cubeb: return AudioStream::CreateCubebAudioStream(); - case AudioBackend::Default: - return std::make_unique(); + case AudioBackend::SDL: + return SDLAudioStream::Create(); default: return nullptr; diff --git a/src/frontend-common/sdl_audio_stream.cpp b/src/frontend-common/sdl_audio_stream.cpp index 96987df1f..252be4b57 100644 --- a/src/frontend-common/sdl_audio_stream.cpp +++ b/src/frontend-common/sdl_audio_stream.cpp @@ -12,6 +12,11 @@ SDLAudioStream::~SDLAudioStream() SDLAudioStream::CloseDevice(); } +std::unique_ptr SDLAudioStream::Create() +{ + return std::make_unique(); +} + bool SDLAudioStream::OpenDevice() { DebugAssert(!m_is_open); diff --git a/src/frontend-common/sdl_audio_stream.h b/src/frontend-common/sdl_audio_stream.h index c2a600e94..b33a59eff 100644 --- a/src/frontend-common/sdl_audio_stream.h +++ b/src/frontend-common/sdl_audio_stream.h @@ -8,6 +8,8 @@ public: SDLAudioStream(); ~SDLAudioStream(); + static std::unique_ptr Create(); + protected: bool OpenDevice() override; void PauseDevice(bool paused) override;