summaryrefslogtreecommitdiffstats
path: root/audio/out/ao_wasapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'audio/out/ao_wasapi.h')
-rw-r--r--audio/out/ao_wasapi.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/audio/out/ao_wasapi.h b/audio/out/ao_wasapi.h
index 3cf91f5418..cbd4a3f933 100644
--- a/audio/out/ao_wasapi.h
+++ b/audio/out/ao_wasapi.h
@@ -20,8 +20,10 @@
#ifndef MP_AO_WASAPI_H_
#define MP_AO_WASAPI_H_
+#include <stdatomic.h>
#include <stdlib.h>
#include <stdbool.h>
+
#include <windows.h>
#include <mmdeviceapi.h>
#include <audioclient.h>
@@ -29,7 +31,6 @@
#include <endpointvolume.h>
#include "common/msg.h"
-#include "osdep/atomic.h"
#include "osdep/windows_utils.h"
#include "internal.h"
#include "ao.h"
@@ -49,7 +50,9 @@ enum wasapi_thread_state {
WASAPI_THREAD_FEED = 0,
WASAPI_THREAD_RESUME,
WASAPI_THREAD_RESET,
- WASAPI_THREAD_SHUTDOWN
+ WASAPI_THREAD_SHUTDOWN,
+ WASAPI_THREAD_PAUSE,
+ WASAPI_THREAD_UNPAUSE,
};
typedef struct wasapi_state {
@@ -62,6 +65,7 @@ typedef struct wasapi_state {
HANDLE hWake; // thread wakeup event
atomic_int thread_state; // enum wasapi_thread_state (what to do on wakeup)
struct mp_dispatch_queue *dispatch; // for volume/mute/session display
+ HANDLE hUserWake; // mpv-requested wakeup event
// for setting the audio thread priority
HANDLE hTask;
@@ -87,6 +91,7 @@ typedef struct wasapi_state {
// ao options
int opt_exclusive;
+ int opt_exclusive_buffer; // exclusive mode buffer duration in us
// format info
WAVEFORMATEXTENSIBLE format;