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>
27struct IMMDeviceEnumerator;
41 QObject *parent)
override;
43 QObject *parent)
override;
55 QComInitializer m_comInitializer;
57 QList<QAudioDevice> availableDevices(QAudioDevice::Mode mode)
const;
59 ComPtr<IMMDeviceEnumerator> m_deviceEnumerator;
60 ComPtr<CMMNotificationClient> m_notificationClient;
CMMNotificationClient(QWindowsAudioDevices *windowsMediaDevices, ComPtr< IMMDeviceEnumerator > enumerator, QMap< QString, DWORD > &&deviceState)
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
virtual ~QWindowsAudioDevices()
static std::optional< QString > getDeviceId(const ComPtr< IMMDevice > &dev)