Skip to content
Permalink
Browse files

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.
  • Loading branch information...
lioncash committed May 31, 2019
1 parent 00ecfb3 commit 1a56e9d9e096db7e7f0e219776c3bbc8397cd296
Showing with 7 additions and 6 deletions.
  1. +3 −3 Source/Core/AudioCommon/AudioCommon.cpp
  2. +4 −3 Source/Core/AudioCommon/AudioCommon.h
@@ -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
@@ -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);

0 comments on commit 1a56e9d

Please sign in to comment.
You can’t perform that action at this time.