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;
}
bool SupportsDPL2Decoder(const std::string& backend)
bool SupportsDPL2Decoder(std::string_view backend)
{
#ifndef __APPLE__
if (backend == BACKEND_OPENAL)
@ -132,12 +132,12 @@ bool SupportsDPL2Decoder(const std::string& backend)
return false;
}
bool SupportsLatencyControl(const std::string& backend)
bool SupportsLatencyControl(std::string_view backend)
{
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.
// but getting the backend from string etc. is probably

View File

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