4#ifndef QWINDOWSAUDIODEVICES_H
5#define QWINDOWSAUDIODEVICES_H
18#include <private/qplatformaudiodevices_p.h>
19#include <QtCore/private/qcomptr_p.h>
20#include <private/qcominitializer_p.h>
21#include <private/qwindowsmediafoundation_p.h>
23#include <qaudiodevice.h>
26struct IMMDeviceEnumerator;
31class CMMNotificationClient;
40 QObject *parent)
override;
42 QObject *parent)
override;
56 QComInitializer m_comInitializer;
58 QList<QAudioDevice> availableDevices(QAudioDevice::Mode mode)
const;
60 ComPtr<IMMDeviceEnumerator> m_deviceEnumerator;
61 ComPtr<CMMNotificationClient> m_notificationClient;
64 ComPtr<IAudioClient3> m_warmUpAudioClient;
65 std::atomic_bool m_isAudioClientWarmedUp =
false;
67 friend CMMNotificationClient;
QList< QAudioDevice > findAudioInputs() const override
QPlatformAudioSource * createAudioSource(const QAudioDevice &, const QAudioFormat &, QObject *parent) override
QPlatformAudioSink * createAudioSink(const QAudioDevice &, const QAudioFormat &, QObject *parent) override
QList< QAudioDevice > findAudioOutputs() const override
QLatin1String backendName() const override
void prepareAudio() override
virtual ~QWindowsAudioDevices()
static bool isPrepareAudioEnabled()