audio: add method for setting audio delay

This commit is contained in:
SSimco 2026-05-09 16:38:41 +03:00
parent 7d04612d06
commit bd076fe70a
3 changed files with 8 additions and 5 deletions

View File

@ -76,7 +76,7 @@ void IAudioAPI::InitWFX(sint32 samplerate, sint32 channels, sint32 bits_per_samp
void IAudioAPI::InitializeStatic()
{
s_audioDelay = GetConfig().audio_delay;
SetAudioDelay(GetConfig().audio_delay);
#if BOOST_OS_WINDOWS
s_availableApis[DirectSound] = true;
@ -98,6 +98,11 @@ bool IAudioAPI::IsAudioAPIAvailable(AudioAPI api)
return false;
}
void IAudioAPI::SetAudioDelay(uint32 audioDelay)
{
s_audioDelay = audioDelay;
}
AudioAPIPtr IAudioAPI::CreateDeviceFromConfig(AudioType type, sint32 rate, sint32 samples_per_block, sint32 bits_per_sample)
{
sint32 channels = CemuConfig::AudioChannelsToNChannels(AudioTypeToChannels(type));

View File

@ -8,8 +8,6 @@
class IAudioAPI
{
friend class GeneralSettings2;
public:
class DeviceDescription
{
@ -66,11 +64,11 @@ public:
virtual bool Stop() = 0;
void SetAudioDelayOverride(uint32 delay);
uint32 GetAudioDelay() const;
static void SetAudioDelay(uint32 audioDelay);
static void PrintLogging();
static void InitializeStatic();
static bool IsAudioAPIAvailable(AudioAPI api);
static std::unique_ptr<IAudioAPI> CreateDeviceFromConfig(AudioType type, sint32 rate, sint32 samples_per_block, sint32 bits_per_sample);
static std::unique_ptr<IAudioAPI> CreateDeviceFromConfig(AudioType type, sint32 rate, sint32 channels, sint32 samples_per_block, sint32 bits_per_sample);
static std::unique_ptr<IAudioAPI> CreateDevice(AudioAPI api, const DeviceDescriptionPtr& device, sint32 samplerate, sint32 channels, sint32 samples_per_block, sint32 bits_per_sample);

View File

@ -1336,7 +1336,7 @@ void GeneralSettings2::DisableSettings(bool game_launched)
void GeneralSettings2::OnAudioLatencyChanged(wxCommandEvent& event)
{
IAudioAPI::s_audioDelay = event.GetInt();
IAudioAPI::SetAudioDelay(event.GetInt());
event.Skip();
}