diff options
Diffstat (limited to 'drivers/xaudio2/audio_driver_xaudio2.cpp')
-rw-r--r-- | drivers/xaudio2/audio_driver_xaudio2.cpp | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/drivers/xaudio2/audio_driver_xaudio2.cpp b/drivers/xaudio2/audio_driver_xaudio2.cpp index 120bfa2b36..df7d2488fd 100644 --- a/drivers/xaudio2/audio_driver_xaudio2.cpp +++ b/drivers/xaudio2/audio_driver_xaudio2.cpp @@ -38,7 +38,6 @@ const char *AudioDriverXAudio2::get_name() const { } Error AudioDriverXAudio2::init() { - active = false; thread_exited = false; exit_thread = false; @@ -85,19 +84,15 @@ Error AudioDriverXAudio2::init() { } void AudioDriverXAudio2::thread_func(void *p_udata) { - AudioDriverXAudio2 *ad = (AudioDriverXAudio2 *)p_udata; while (!ad->exit_thread) { - if (!ad->active) { - for (int i = 0; i < AUDIO_BUFFERS; i++) { ad->xaudio_buffer[i].Flags = XAUDIO2_END_OF_STREAM; } } else { - ad->lock(); ad->audio_server_process(ad->buffer_size, ad->samples_in); @@ -105,7 +100,6 @@ void AudioDriverXAudio2::thread_func(void *p_udata) { ad->unlock(); for (unsigned int i = 0; i < ad->buffer_size * ad->channels; i++) { - ad->samples_out[ad->current_buffer][i] = ad->samples_in[i] >> 16; } @@ -128,24 +122,20 @@ void AudioDriverXAudio2::thread_func(void *p_udata) { } void AudioDriverXAudio2::start() { - active = true; HRESULT hr = source_voice->Start(0); ERR_FAIL_COND_MSG(hr != S_OK, "Error starting XAudio2 driver. Error code: " + itos(hr) + "."); } int AudioDriverXAudio2::get_mix_rate() const { - return mix_rate; } AudioDriver::SpeakerMode AudioDriverXAudio2::get_speaker_mode() const { - return speaker_mode; } float AudioDriverXAudio2::get_latency() { - XAUDIO2_PERFORMANCE_DATA perf_data; xaudio->GetPerformanceData(&perf_data); if (perf_data.CurrentLatencyInSamples) { @@ -156,20 +146,18 @@ float AudioDriverXAudio2::get_latency() { } void AudioDriverXAudio2::lock() { - if (!thread) return; mutex.lock(); } -void AudioDriverXAudio2::unlock() { +void AudioDriverXAudio2::unlock() { if (!thread) return; mutex.unlock(); } void AudioDriverXAudio2::finish() { - if (!thread) return; @@ -196,15 +184,9 @@ void AudioDriverXAudio2::finish() { thread = nullptr; } -AudioDriverXAudio2::AudioDriverXAudio2() : - thread(nullptr), - current_buffer(0) { - wave_format = { 0 }; +AudioDriverXAudio2::AudioDriverXAudio2() { for (int i = 0; i < AUDIO_BUFFERS; i++) { xaudio_buffer[i] = { 0 }; samples_out[i] = 0; } } - -AudioDriverXAudio2::~AudioDriverXAudio2() { -} |