diff options
Diffstat (limited to 'audio/out/ao_wasapi.c')
-rw-r--r-- | audio/out/ao_wasapi.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/audio/out/ao_wasapi.c b/audio/out/ao_wasapi.c index 3d59554dcd..431b24c3a1 100644 --- a/audio/out/ao_wasapi.c +++ b/audio/out/ao_wasapi.c @@ -33,7 +33,6 @@ #include "audio/out/ao_wasapi_utils.h" #include "audio/format.h" -#include "compat/atomics.h" #include "osdep/timer.h" #include "osdep/io.h" @@ -43,7 +42,7 @@ do { if ((unk) != NULL) { release; (unk) = NULL; } } while(0) static double get_device_delay(struct wasapi_state *state) { - UINT64 sample_count = state->sample_count; + UINT64 sample_count = atomic_load(&state->sample_count); UINT64 position, qpc_position; HRESULT hr; @@ -100,8 +99,7 @@ static void thread_feed(struct ao *ao) frame_count, 0); EXIT_ON_ERROR(hr); - mp_atomic_add_and_fetch(&state->sample_count, frame_count); - mp_memory_barrier(); + atomic_fetch_add(&state->sample_count, frame_count); return; exit_label: @@ -318,8 +316,7 @@ static void audio_pause(struct ao *ao) IAudioClient_Stop(state->pAudioClientProxy); IAudioClient_Reset(state->pAudioClientProxy); - state->sample_count = 0; - mp_memory_barrier(); + atomic_store(&state->sample_count, 0); } static void audio_resume(struct ao *ao) |