forked from eden-emu/eden
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
This commit is contained in:
parent
3feb3ce283
commit
f852369986
14 changed files with 129 additions and 18 deletions
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue