summaryrefslogtreecommitdiffstats
path: root/src/audio_core
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2016-12-10 05:34:10 +0100
committerGitHub <noreply@github.com>2016-12-10 05:34:10 +0100
commit42edd7911e4924560b44001acca7ac4442f254e9 (patch)
treecf213f03c4083d0bfd8fbc307b51c3b53d9050d0 /src/audio_core
parentMerge pull request #2291 from lioncash/svc (diff)
parentaudio_core: SelectSink should default to auto if sink_id is invalid (diff)
downloadyuzu-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
Diffstat (limited to 'src/audio_core')
-rw-r--r--src/audio_core/audio_core.cpp19
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());