diff options
author | Chris Robinson <chris.kcat@gmail.com> | 2020-03-30 15:37:41 -0700 |
---|---|---|
committer | Chris Robinson <chris.kcat@gmail.com> | 2020-03-30 15:37:41 -0700 |
commit | f2ddf971df5cbbd112e0d677b0ea5bd6368051dc (patch) | |
tree | 8142af1d3cde52f61c30d88951aeff00cb3f2b39 /alc/backends/winmm.cpp | |
parent | 167bdce48d1656569cf63448fc2328800288c38f (diff) |
Return the enumerated device names from the backend
Rather than using an out parameter.
Diffstat (limited to 'alc/backends/winmm.cpp')
-rw-r--r-- | alc/backends/winmm.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/alc/backends/winmm.cpp b/alc/backends/winmm.cpp index a2437496..cd63352f 100644 --- a/alc/backends/winmm.cpp +++ b/alc/backends/winmm.cpp @@ -590,28 +590,30 @@ bool WinMMBackendFactory::init() bool WinMMBackendFactory::querySupport(BackendType type) { return type == BackendType::Playback || type == BackendType::Capture; } -void WinMMBackendFactory::probe(DevProbe type, std::string *outnames) +std::string WinMMBackendFactory::probe(DevProbe type) { - auto add_device = [outnames](const std::string &dname) -> void + std::string outnames; + auto add_device = [&outnames](const std::string &dname) -> void { /* +1 to also append the null char (to ensure a null-separated list and * double-null terminated list). */ if(!dname.empty()) - outnames->append(dname.c_str(), dname.length()+1); + outnames.append(dname.c_str(), dname.length()+1); }; switch(type) { - case DevProbe::Playback: - ProbePlaybackDevices(); - std::for_each(PlaybackDevices.cbegin(), PlaybackDevices.cend(), add_device); - break; - - case DevProbe::Capture: - ProbeCaptureDevices(); - std::for_each(CaptureDevices.cbegin(), CaptureDevices.cend(), add_device); - break; + case DevProbe::Playback: + ProbePlaybackDevices(); + std::for_each(PlaybackDevices.cbegin(), PlaybackDevices.cend(), add_device); + break; + + case DevProbe::Capture: + ProbeCaptureDevices(); + std::for_each(CaptureDevices.cbegin(), CaptureDevices.cend(), add_device); + break; } + return outnames; } BackendPtr WinMMBackendFactory::createBackend(ALCdevice *device, BackendType type) |