AudioCommon: Use std::string_view with feature querying functions

Provides the same behavior, but allows passed in strings to be
non-allocating in calling code.
This commit is contained in:
Lioncash 2019-05-31 07:01:44 -04:00
parent 00ecfb3c59
commit 1a56e9d9e0
2 changed files with 7 additions and 6 deletions

View File

@ -117,7 +117,7 @@ std::vector<std::string> GetSoundBackends()
return backends; return backends;
} }
bool SupportsDPL2Decoder(const std::string& backend) bool SupportsDPL2Decoder(std::string_view backend)
{ {
#ifndef __APPLE__ #ifndef __APPLE__
if (backend == BACKEND_OPENAL) if (backend == BACKEND_OPENAL)
@ -132,12 +132,12 @@ bool SupportsDPL2Decoder(const std::string& backend)
return false; return false;
} }
bool SupportsLatencyControl(const std::string& backend) bool SupportsLatencyControl(std::string_view backend)
{ {
return backend == BACKEND_OPENAL || backend == BACKEND_WASAPI; return backend == BACKEND_OPENAL || backend == BACKEND_WASAPI;
} }
bool SupportsVolumeChanges(const std::string& backend) bool SupportsVolumeChanges(std::string_view backend)
{ {
// FIXME: this one should ask the backend whether it supports it. // FIXME: this one should ask the backend whether it supports it.
// but getting the backend from string etc. is probably // but getting the backend from string etc. is probably

View File

@ -6,6 +6,7 @@
#include <memory> #include <memory>
#include <string> #include <string>
#include <string_view>
#include <vector> #include <vector>
#include "AudioCommon/SoundStream.h" #include "AudioCommon/SoundStream.h"
@ -20,9 +21,9 @@ void InitSoundStream();
void ShutdownSoundStream(); void ShutdownSoundStream();
std::string GetDefaultSoundBackend(); std::string GetDefaultSoundBackend();
std::vector<std::string> GetSoundBackends(); std::vector<std::string> GetSoundBackends();
bool SupportsDPL2Decoder(const std::string& backend); bool SupportsDPL2Decoder(std::string_view backend);
bool SupportsLatencyControl(const std::string& backend); bool SupportsLatencyControl(std::string_view backend);
bool SupportsVolumeChanges(const std::string& backend); bool SupportsVolumeChanges(std::string_view backend);
void UpdateSoundStream(); void UpdateSoundStream();
void SetSoundStreamRunning(bool running); void SetSoundStreamRunning(bool running);
void SendAIBuffer(const short* samples, unsigned int num_samples); void SendAIBuffer(const short* samples, unsigned int num_samples);