diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2016-12-10 05:34:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-10 05:34:10 +0100 |
commit | 42edd7911e4924560b44001acca7ac4442f254e9 (patch) | |
tree | cf213f03c4083d0bfd8fbc307b51c3b53d9050d0 | |
parent | Merge pull request #2291 from lioncash/svc (diff) | |
parent | audio_core: SelectSink should default to auto if sink_id is invalid (diff) | |
download | yuzu-42edd7911e4924560b44001acca7ac4442f254e9.tar yuzu-42edd7911e4924560b44001acca7ac4442f254e9.tar.gz yuzu-42edd7911e4924560b44001acca7ac4442f254e9.tar.bz2 yuzu-42edd7911e4924560b44001acca7ac4442f254e9.tar.lz yuzu-42edd7911e4924560b44001acca7ac4442f254e9.tar.xz yuzu-42edd7911e4924560b44001acca7ac4442f254e9.tar.zst yuzu-42edd7911e4924560b44001acca7ac4442f254e9.zip |
-rw-r--r-- | src/audio_core/audio_core.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/audio_core/audio_core.cpp b/src/audio_core/audio_core.cpp index 49260de7c..1065e2222 100644 --- a/src/audio_core/audio_core.cpp +++ b/src/audio_core/audio_core.cpp @@ -56,22 +56,17 @@ void AddAddressSpace(Kernel::VMManager& address_space) { } void SelectSink(std::string sink_id) { - if (sink_id == "auto") { - // Auto-select. - // g_sink_details is ordered in terms of desirability, with the best choice at the front. - const auto& sink_detail = g_sink_details.front(); - DSP::HLE::SetSink(sink_detail.factory()); - return; - } - auto iter = std::find_if(g_sink_details.begin(), g_sink_details.end(), [sink_id](const auto& sink_detail) { return sink_detail.id == sink_id; }); - if (iter == g_sink_details.end()) { - LOG_ERROR(Audio, "AudioCore::SelectSink given invalid sink_id"); - DSP::HLE::SetSink(std::make_unique<NullSink>()); - return; + if (sink_id == "auto" || iter == g_sink_details.end()) { + if (sink_id != "auto") { + LOG_ERROR(Audio, "AudioCore::SelectSink given invalid sink_id %s", sink_id.c_str()); + } + // Auto-select. + // g_sink_details is ordered in terms of desirability, with the best choice at the front. + iter = g_sink_details.begin(); } DSP::HLE::SetSink(iter->factory()); |