aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/audio_core.cpp
diff options
context:
space:
mode:
authorKloen Lansfiel <kloen@outlawkiwi.com>2017-01-26 04:33:26 +0100
committerSebastian Valle <subv2112@gmail.com>2017-01-25 22:33:26 -0500
commit637f58dd1e982a513cfef2429e9d67e7893a4537 (patch)
tree952a96e11d4efe860272ea7a47ebbee896fb5d61 /src/audio_core/audio_core.cpp
parentc25a9cf64d510b9bed5c834e064162422745635e (diff)
SDL: Select audio device (#2403)
* Initial Commit Added Device logic to Sinks Started on UI for selecting devices Removed redundant import * Audio Core: Complete Device Switching Complete the device switching implementation by allowing the output device to be loaded, changed and saved through the configurations menu. Worked with the Sink abstraction and tuned the "Device Selection" configuration so that the Device List is automatically populated when the Sink is changed. This hopefully addresses the concerns and recommendations mentioned in the comments of the PR. * Clean original implementation. * Refactor GetSinkDetails
Diffstat (limited to 'src/audio_core/audio_core.cpp')
-rw-r--r--src/audio_core/audio_core.cpp16
1 files changed, 2 insertions, 14 deletions
diff --git a/src/audio_core/audio_core.cpp b/src/audio_core/audio_core.cpp
index ba6acf28e1..84f9c03a76 100644
--- a/src/audio_core/audio_core.cpp
+++ b/src/audio_core/audio_core.cpp
@@ -56,20 +56,8 @@ void AddAddressSpace(Kernel::VMManager& address_space) {
}
void SelectSink(std::string sink_id) {
- 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 (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());
+ const SinkDetails& sink_details = GetSinkDetails(sink_id);
+ DSP::HLE::SetSink(sink_details.factory());
}
void EnableStretching(bool enable) {