From 9521c1ad588114baaf7902cb257481a11c2a269b Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Fri, 5 Mar 2021 16:30:22 +0100
Subject: [PATCH] output/wasapi: use forward declarations in the header

---
 src/mixer/plugins/WasapiMixerPlugin.cxx          | 2 ++
 src/output/plugins/wasapi/WasapiOutputPlugin.cxx | 3 +++
 src/output/plugins/wasapi/WasapiOutputPlugin.hxx | 8 +++-----
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/mixer/plugins/WasapiMixerPlugin.cxx b/src/mixer/plugins/WasapiMixerPlugin.cxx
index d940ca279..786427c69 100644
--- a/src/mixer/plugins/WasapiMixerPlugin.cxx
+++ b/src/mixer/plugins/WasapiMixerPlugin.cxx
@@ -26,7 +26,9 @@
 #include <cmath>
 #include <optional>
 
+#include <audioclient.h>
 #include <endpointvolume.h>
+#include <mmdeviceapi.h>
 
 class WasapiMixer final : public Mixer {
 	WasapiOutput &output;
diff --git a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx
index 4ec50db50..f9a509386 100644
--- a/src/output/plugins/wasapi/WasapiOutputPlugin.cxx
+++ b/src/output/plugins/wasapi/WasapiOutputPlugin.cxx
@@ -18,6 +18,7 @@
  */
 
 #include "WasapiOutputPlugin.hxx"
+#include "output/OutputAPI.hxx"
 #include "lib/icu/Win32.hxx"
 #include "mixer/MixerList.hxx"
 #include "output/Error.hxx"
@@ -49,8 +50,10 @@
 #include <optional>
 #include <variant>
 
+#include <audioclient.h>
 #include <initguid.h>
 #include <functiondiscoverykeys_devpkey.h>
+#include <mmdeviceapi.h>
 
 namespace {
 static constexpr Domain wasapi_output_domain("wasapi_output");
diff --git a/src/output/plugins/wasapi/WasapiOutputPlugin.hxx b/src/output/plugins/wasapi/WasapiOutputPlugin.hxx
index 77545c699..67ebaf426 100644
--- a/src/output/plugins/wasapi/WasapiOutputPlugin.hxx
+++ b/src/output/plugins/wasapi/WasapiOutputPlugin.hxx
@@ -20,13 +20,11 @@
 #ifndef MPD_WASAPI_OUTPUT_PLUGIN_HXX
 #define MPD_WASAPI_OUTPUT_PLUGIN_HXX
 
-#include "output/OutputAPI.hxx"
-
-#include <audioclient.h>
-#include <mmdeviceapi.h>
-
 extern const struct AudioOutputPlugin wasapi_output_plugin;
 
+struct IMMDevice;
+struct IAudioClient;
+class AudioOutput;
 class WasapiOutput;
 
 [[gnu::pure]]