diff options
| author | Kloen Lansfiel <kloen@outlawkiwi.com> | 2017-01-26 04:33:26 +0100 |
|---|---|---|
| committer | Sebastian Valle <subv2112@gmail.com> | 2017-01-25 22:33:26 -0500 |
| commit | f8523699864b6000572affaa0e36d9a4d89ffce6 (patch) | |
| tree | 952a96e11d4efe860272ea7a47ebbee896fb5d61 /src/audio_core/audio_core.cpp | |
| parent | 3feb3ce283b53be644bc4ca884817aba9cf63a81 (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.cpp | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/src/audio_core/audio_core.cpp b/src/audio_core/audio_core.cpp index ba6acf28e..84f9c03a7 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) { |
