summaryrefslogtreecommitdiff
path: root/src/multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'src/multimedia')
-rw-r--r--src/multimedia/windows/qwindowsaudiodevice.cpp6
-rw-r--r--src/multimedia/windows/qwindowsaudiodevice_p.h6
-rw-r--r--src/multimedia/windows/qwindowsaudiosink.cpp2
-rw-r--r--src/multimedia/windows/qwindowsaudiosink_p.h8
-rw-r--r--src/multimedia/windows/qwindowsaudiosource.cpp2
-rw-r--r--src/multimedia/windows/qwindowsaudiosource_p.h8
-rw-r--r--src/multimedia/windows/qwindowsaudioutils.cpp4
-rw-r--r--src/multimedia/windows/qwindowsaudioutils_p.h2
-rw-r--r--src/multimedia/windows/qwindowsiupointer_p.h16
-rw-r--r--src/multimedia/windows/qwindowsmediadevices.cpp18
-rw-r--r--src/multimedia/windows/qwindowsmediadevices_p.h4
-rw-r--r--src/multimedia/windows/qwindowsresampler.cpp16
-rw-r--r--src/multimedia/windows/qwindowsresampler_p.h2
13 files changed, 47 insertions, 47 deletions
diff --git a/src/multimedia/windows/qwindowsaudiodevice.cpp b/src/multimedia/windows/qwindowsaudiodevice.cpp
index aa56632fc..fbc1cfa02 100644
--- a/src/multimedia/windows/qwindowsaudiodevice.cpp
+++ b/src/multimedia/windows/qwindowsaudiodevice.cpp
@@ -29,7 +29,7 @@
QT_BEGIN_NAMESPACE
-QWindowsAudioDeviceInfo::QWindowsAudioDeviceInfo(QByteArray dev, QWindowsIUPointer<IMMDevice> immDev, int waveID, const QString &description, QAudioDevice::Mode mode)
+QWindowsAudioDeviceInfo::QWindowsAudioDeviceInfo(QByteArray dev, QComPtr<IMMDevice> immDev, int waveID, const QString &description, QAudioDevice::Mode mode)
: QAudioDevicePrivate(dev, mode),
m_devId(waveID),
m_immDev(std::move(immDev))
@@ -38,7 +38,7 @@ QWindowsAudioDeviceInfo::QWindowsAudioDeviceInfo(QByteArray dev, QWindowsIUPoint
this->description = description;
- QWindowsIUPointer<IAudioClient> audioClient;
+ QComPtr<IAudioClient> audioClient;
HRESULT hr = m_immDev->Activate(__uuidof(IAudioClient), CLSCTX_INPROC_SERVER, nullptr,
(void **)audioClient.address());
if (SUCCEEDED(hr)) {
@@ -194,7 +194,7 @@ QWindowsAudioDeviceInfo::QWindowsAudioDeviceInfo(QByteArray dev, QWindowsIUPoint
channelConfiguration = QAudioFormat::defaultChannelConfigForChannelCount(maximumChannelCount);
- QWindowsIUPointer<IPropertyStore> props;
+ QComPtr<IPropertyStore> props;
hr = m_immDev->OpenPropertyStore(STGM_READ, props.address());
if (SUCCEEDED(hr)) {
PROPVARIANT var;
diff --git a/src/multimedia/windows/qwindowsaudiodevice_p.h b/src/multimedia/windows/qwindowsaudiodevice_p.h
index c62f7eebc..b981a0ed6 100644
--- a/src/multimedia/windows/qwindowsaudiodevice_p.h
+++ b/src/multimedia/windows/qwindowsaudiodevice_p.h
@@ -36,7 +36,7 @@ const unsigned int SAMPLE_RATES[] = { 8000, 11025, 22050, 44100, 48000 };
class QWindowsAudioDeviceInfo : public QAudioDevicePrivate
{
public:
- QWindowsAudioDeviceInfo(QByteArray dev, QWindowsIUPointer<IMMDevice> immdev, int waveID, const QString &description, QAudioDevice::Mode mode);
+ QWindowsAudioDeviceInfo(QByteArray dev, QComPtr<IMMDevice> immdev, int waveID, const QString &description, QAudioDevice::Mode mode);
~QWindowsAudioDeviceInfo();
bool open();
@@ -45,11 +45,11 @@ public:
bool testSettings(const QAudioFormat& format) const;
int waveId() const { return m_devId; }
- QWindowsIUPointer<IMMDevice> immDev() const { return m_immDev; }
+ QComPtr<IMMDevice> immDev() const { return m_immDev; }
private:
quint32 m_devId;
- QWindowsIUPointer<IMMDevice> m_immDev;
+ QComPtr<IMMDevice> m_immDev;
};
diff --git a/src/multimedia/windows/qwindowsaudiosink.cpp b/src/multimedia/windows/qwindowsaudiosink.cpp
index f0a58ccda..30bf054f1 100644
--- a/src/multimedia/windows/qwindowsaudiosink.cpp
+++ b/src/multimedia/windows/qwindowsaudiosink.cpp
@@ -56,7 +56,7 @@ std::optional<quint32> audioClientFramesAvailable(IAudioClient *client)
return {};
}
-QWindowsAudioSink::QWindowsAudioSink(QWindowsIUPointer<IMMDevice> device, QObject *parent) :
+QWindowsAudioSink::QWindowsAudioSink(QComPtr<IMMDevice> device, QObject *parent) :
QPlatformAudioSink(parent),
m_timer(new QTimer(this)),
m_pushSource(new OutputPrivate(*this)),
diff --git a/src/multimedia/windows/qwindowsaudiosink_p.h b/src/multimedia/windows/qwindowsaudiosink_p.h
index 48b948004..c1ca2e81c 100644
--- a/src/multimedia/windows/qwindowsaudiosink_p.h
+++ b/src/multimedia/windows/qwindowsaudiosink_p.h
@@ -41,7 +41,7 @@ class QWindowsAudioSink : public QPlatformAudioSink
{
Q_OBJECT
public:
- QWindowsAudioSink(QWindowsIUPointer<IMMDevice> device, QObject *parent);
+ QWindowsAudioSink(QComPtr<IMMDevice> device, QObject *parent);
~QWindowsAudioSink();
void setFormat(const QAudioFormat& fmt) override;
@@ -84,9 +84,9 @@ private:
QTimer *m_timer = nullptr;
QScopedPointer<QIODevice> m_pushSource;
QIODevice *m_pullSource = nullptr;
- QWindowsIUPointer<IMMDevice> m_device;
- QWindowsIUPointer<IAudioClient> m_audioClient;
- QWindowsIUPointer<IAudioRenderClient> m_renderClient;
+ QComPtr<IMMDevice> m_device;
+ QComPtr<IAudioClient> m_audioClient;
+ QComPtr<IAudioRenderClient> m_renderClient;
QWindowsResampler m_resampler;
};
diff --git a/src/multimedia/windows/qwindowsaudiosource.cpp b/src/multimedia/windows/qwindowsaudiosource.cpp
index b5680f9ca..fa7a48705 100644
--- a/src/multimedia/windows/qwindowsaudiosource.cpp
+++ b/src/multimedia/windows/qwindowsaudiosource.cpp
@@ -45,7 +45,7 @@ private:
QWindowsAudioSource &m_audioSource;
};
-QWindowsAudioSource::QWindowsAudioSource(QWindowsIUPointer<IMMDevice> device, QObject *parent)
+QWindowsAudioSource::QWindowsAudioSource(QComPtr<IMMDevice> device, QObject *parent)
: QPlatformAudioSource(parent),
m_timer(new QTimer(this)),
m_device(std::move(device)),
diff --git a/src/multimedia/windows/qwindowsaudiosource_p.h b/src/multimedia/windows/qwindowsaudiosource_p.h
index 6b7d41db1..56355d525 100644
--- a/src/multimedia/windows/qwindowsaudiosource_p.h
+++ b/src/multimedia/windows/qwindowsaudiosource_p.h
@@ -43,7 +43,7 @@ class QWindowsAudioSource : public QPlatformAudioSource
{
Q_OBJECT
public:
- QWindowsAudioSource(QWindowsIUPointer<IMMDevice> device, QObject *parent);
+ QWindowsAudioSource(QComPtr<IMMDevice> device, QObject *parent);
~QWindowsAudioSource();
qint64 read(char* data, qint64 len);
@@ -72,9 +72,9 @@ private:
QByteArray readCaptureClientBuffer();
QTimer *m_timer = nullptr;
- QWindowsIUPointer<IMMDevice> m_device;
- QWindowsIUPointer<IAudioClient> m_audioClient;
- QWindowsIUPointer<IAudioCaptureClient> m_captureClient;
+ QComPtr<IMMDevice> m_device;
+ QComPtr<IAudioClient> m_audioClient;
+ QComPtr<IAudioCaptureClient> m_captureClient;
QWindowsResampler m_resampler;
int m_bufferSize = 0;
qreal m_volume = 1.0;
diff --git a/src/multimedia/windows/qwindowsaudioutils.cpp b/src/multimedia/windows/qwindowsaudioutils.cpp
index ff2713f6b..fb9c8671e 100644
--- a/src/multimedia/windows/qwindowsaudioutils.cpp
+++ b/src/multimedia/windows/qwindowsaudioutils.cpp
@@ -157,9 +157,9 @@ QAudioFormat QWindowsAudioUtils::mediaTypeToFormat(IMFMediaType *mediaType)
return format;
}
-QWindowsIUPointer<IMFMediaType> QWindowsAudioUtils::formatToMediaType(QWindowsMediaFoundation &wmf, const QAudioFormat &format)
+QComPtr<IMFMediaType> QWindowsAudioUtils::formatToMediaType(QWindowsMediaFoundation &wmf, const QAudioFormat &format)
{
- QWindowsIUPointer<IMFMediaType> mediaType;
+ QComPtr<IMFMediaType> mediaType;
if (!format.isValid())
return mediaType;
diff --git a/src/multimedia/windows/qwindowsaudioutils_p.h b/src/multimedia/windows/qwindowsaudioutils_p.h
index 3ae957e35..5254ef704 100644
--- a/src/multimedia/windows/qwindowsaudioutils_p.h
+++ b/src/multimedia/windows/qwindowsaudioutils_p.h
@@ -34,7 +34,7 @@ namespace QWindowsAudioUtils
bool formatToWaveFormatExtensible(const QAudioFormat &format, WAVEFORMATEXTENSIBLE &wfx);
QAudioFormat waveFormatExToFormat(const WAVEFORMATEX &in);
Q_MULTIMEDIA_EXPORT QAudioFormat mediaTypeToFormat(IMFMediaType *mediaType);
- QWindowsIUPointer<IMFMediaType> formatToMediaType(QWindowsMediaFoundation &, const QAudioFormat &format);
+ QComPtr<IMFMediaType> formatToMediaType(QWindowsMediaFoundation &, const QAudioFormat &format);
QAudioFormat::ChannelConfig maskToChannelConfig(UINT32 mask, int count);
std::optional<quint32> audioClientFramesInUse(IAudioClient *client);
std::optional<quint32> audioClientFramesAllocated(IAudioClient *client);
diff --git a/src/multimedia/windows/qwindowsiupointer_p.h b/src/multimedia/windows/qwindowsiupointer_p.h
index 0cf73660b..1fff76e2c 100644
--- a/src/multimedia/windows/qwindowsiupointer_p.h
+++ b/src/multimedia/windows/qwindowsiupointer_p.h
@@ -16,16 +16,16 @@
//
template <class T>
-class QWindowsIUPointer
+class QComPtr
{
public:
- explicit QWindowsIUPointer(T *ptr) : m_ptr(ptr) {}
- QWindowsIUPointer() : m_ptr(nullptr) {}
- QWindowsIUPointer(const QWindowsIUPointer<T> &uiPtr) : m_ptr(uiPtr.m_ptr) { if (m_ptr) m_ptr->AddRef(); }
- QWindowsIUPointer(QWindowsIUPointer<T> &&uiPtr) : m_ptr(uiPtr.m_ptr) { uiPtr.m_ptr = nullptr; }
- ~QWindowsIUPointer() { if (m_ptr) m_ptr->Release(); }
+ explicit QComPtr(T *ptr) : m_ptr(ptr) {}
+ QComPtr() : m_ptr(nullptr) {}
+ QComPtr(const QComPtr<T> &uiPtr) : m_ptr(uiPtr.m_ptr) { if (m_ptr) m_ptr->AddRef(); }
+ QComPtr(QComPtr<T> &&uiPtr) : m_ptr(uiPtr.m_ptr) { uiPtr.m_ptr = nullptr; }
+ ~QComPtr() { if (m_ptr) m_ptr->Release(); }
- QWindowsIUPointer& operator=(const QWindowsIUPointer<T> &rhs) {
+ QComPtr& operator=(const QComPtr<T> &rhs) {
if (this != &rhs) {
if (m_ptr)
m_ptr->Release();
@@ -35,7 +35,7 @@ public:
return *this;
}
- QWindowsIUPointer& operator=(QWindowsIUPointer<T> &&rhs) noexcept {
+ QComPtr& operator=(QComPtr<T> &&rhs) noexcept {
if (m_ptr)
m_ptr->Release();
m_ptr = rhs.m_ptr;
diff --git a/src/multimedia/windows/qwindowsmediadevices.cpp b/src/multimedia/windows/qwindowsmediadevices.cpp
index c1135f0cb..9dd2db383 100644
--- a/src/multimedia/windows/qwindowsmediadevices.cpp
+++ b/src/multimedia/windows/qwindowsmediadevices.cpp
@@ -24,13 +24,13 @@ QT_BEGIN_NAMESPACE
class CMMNotificationClient : public IMMNotificationClient
{
LONG m_cRef;
- QWindowsIUPointer<IMMDeviceEnumerator> m_enumerator;
+ QComPtr<IMMDeviceEnumerator> m_enumerator;
QWindowsMediaDevices *m_windowsMediaDevices;
QMap<QString, DWORD> m_deviceState;
public:
CMMNotificationClient(QWindowsMediaDevices *windowsMediaDevices,
- QWindowsIUPointer<IMMDeviceEnumerator> enumerator,
+ QComPtr<IMMDeviceEnumerator> enumerator,
QMap<QString, DWORD> &&deviceState) :
m_cRef(1),
m_enumerator(enumerator),
@@ -132,8 +132,8 @@ public:
void emitAudioDevicesChanged(LPCWSTR deviceID)
{
- QWindowsIUPointer<IMMDevice> device;
- QWindowsIUPointer<IMMEndpoint> endpoint;
+ QComPtr<IMMDevice> device;
+ QComPtr<IMMEndpoint> endpoint;
EDataFlow flow;
if (SUCCEEDED(m_enumerator->GetDevice(deviceID, device.address()))
@@ -156,14 +156,14 @@ QWindowsMediaDevices::QWindowsMediaDevices()
if (SUCCEEDED(hr)) {
QMap<QString, DWORD> devState;
- QWindowsIUPointer<IMMDeviceCollection> devColl;
+ QComPtr<IMMDeviceCollection> devColl;
UINT count = 0;
if (SUCCEEDED(m_deviceEnumerator->EnumAudioEndpoints(EDataFlow::eAll, DEVICE_STATEMASK_ALL, devColl.address()))
&& SUCCEEDED(devColl->GetCount(&count)))
{
for (UINT i = 0; i < count; i++) {
- QWindowsIUPointer<IMMDevice> device;
+ QComPtr<IMMDevice> device;
DWORD state = 0;
LPWSTR id = nullptr;
@@ -204,7 +204,7 @@ QList<QAudioDevice> QWindowsMediaDevices::availableDevices(QAudioDevice::Mode mo
const auto defaultAudioDeviceID = [this, audioOut]{
const auto dataFlow = audioOut ? EDataFlow::eRender : EDataFlow::eCapture;
- QWindowsIUPointer<IMMDevice> dev;
+ QComPtr<IMMDevice> dev;
LPWSTR id = nullptr;
QString sid;
@@ -236,8 +236,8 @@ QList<QAudioDevice> QWindowsMediaDevices::availableDevices(QAudioDevice::Mode mo
if (waveMessage(DRV_QUERYFUNCTIONINSTANCEID, id.data(), len) != MMSYSERR_NOERROR)
continue;
- QWindowsIUPointer<IMMDevice> device;
- QWindowsIUPointer<IPropertyStore> props;
+ QComPtr<IMMDevice> device;
+ QComPtr<IPropertyStore> props;
if (FAILED(m_deviceEnumerator->GetDevice(id.data(), device.address()))
|| FAILED(device->OpenPropertyStore(STGM_READ, props.address()))) {
continue;
diff --git a/src/multimedia/windows/qwindowsmediadevices_p.h b/src/multimedia/windows/qwindowsmediadevices_p.h
index f32577535..154f29c6e 100644
--- a/src/multimedia/windows/qwindowsmediadevices_p.h
+++ b/src/multimedia/windows/qwindowsmediadevices_p.h
@@ -43,8 +43,8 @@ public:
private:
QList<QAudioDevice> availableDevices(QAudioDevice::Mode mode) const;
- QWindowsIUPointer<IMMDeviceEnumerator> m_deviceEnumerator;
- QWindowsIUPointer<CMMNotificationClient> m_notificationClient;
+ QComPtr<IMMDeviceEnumerator> m_deviceEnumerator;
+ QComPtr<CMMNotificationClient> m_notificationClient;
friend CMMNotificationClient;
};
diff --git a/src/multimedia/windows/qwindowsresampler.cpp b/src/multimedia/windows/qwindowsresampler.cpp
index b4b36d5ee..b1922cfec 100644
--- a/src/multimedia/windows/qwindowsresampler.cpp
+++ b/src/multimedia/windows/qwindowsresampler.cpp
@@ -54,12 +54,12 @@ quint64 QWindowsResampler::inputBufferSize(quint64 outputBufferSize) const
HRESULT QWindowsResampler::processInput(const QByteArrayView &in)
{
- QWindowsIUPointer<IMFSample> sample;
+ QComPtr<IMFSample> sample;
HRESULT hr = m_wmf->mfCreateSample(sample.address());
if (FAILED(hr))
return hr;
- QWindowsIUPointer<IMFMediaBuffer> buffer;
+ QComPtr<IMFMediaBuffer> buffer;
hr = m_wmf->mfCreateMemoryBuffer(in.size(), buffer.address());
if (FAILED(hr))
return hr;
@@ -90,8 +90,8 @@ HRESULT QWindowsResampler::processInput(const QByteArrayView &in)
HRESULT QWindowsResampler::processOutput(QByteArray &out)
{
- QWindowsIUPointer<IMFSample> sample;
- QWindowsIUPointer<IMFMediaBuffer> buffer;
+ QComPtr<IMFSample> sample;
+ QComPtr<IMFMediaBuffer> buffer;
if (m_resamplerNeedsSampleBuffer) {
HRESULT hr = m_wmf->mfCreateSample(sample.address());
@@ -119,7 +119,7 @@ HRESULT QWindowsResampler::processOutput(QByteArray &out)
DWORD status = 0;
hr = m_resampler->ProcessOutput(0, 1, &outputDataBuffer, &status);
if (SUCCEEDED(hr)) {
- QWindowsIUPointer<IMFMediaBuffer> outputBuffer;
+ QComPtr<IMFMediaBuffer> outputBuffer;
outputDataBuffer.pSample->ConvertToContiguousBuffer(outputBuffer.address());
DWORD len = 0;
BYTE *data = nullptr;
@@ -174,7 +174,7 @@ QByteArray QWindowsResampler::resample(IMFSample *sample)
QByteArray out;
if (m_inputFormat == m_outputFormat) {
- QWindowsIUPointer<IMFMediaBuffer> outputBuffer;
+ QComPtr<IMFMediaBuffer> outputBuffer;
sample->ConvertToContiguousBuffer(outputBuffer.address());
DWORD len = 0;
BYTE *data = nullptr;
@@ -216,8 +216,8 @@ bool QWindowsResampler::setup(const QAudioFormat &fin, const QAudioFormat &fout)
if (!m_resampler || !m_wmf)
return false;
- QWindowsIUPointer<IMFMediaType> min = QWindowsAudioUtils::formatToMediaType(*m_wmf, fin);
- QWindowsIUPointer<IMFMediaType> mout = QWindowsAudioUtils::formatToMediaType(*m_wmf, fout);
+ QComPtr<IMFMediaType> min = QWindowsAudioUtils::formatToMediaType(*m_wmf, fin);
+ QComPtr<IMFMediaType> mout = QWindowsAudioUtils::formatToMediaType(*m_wmf, fout);
HRESULT hr = m_resampler->SetInputType(m_inputStreamID, min.get(), 0);
if (FAILED(hr)) {
diff --git a/src/multimedia/windows/qwindowsresampler_p.h b/src/multimedia/windows/qwindowsresampler_p.h
index 3b2e72d00..a59cc5f2e 100644
--- a/src/multimedia/windows/qwindowsresampler_p.h
+++ b/src/multimedia/windows/qwindowsresampler_p.h
@@ -54,7 +54,7 @@ private:
HRESULT processInput(const QByteArrayView &in);
HRESULT processOutput(QByteArray &out);
- QWindowsIUPointer<IMFTransform> m_resampler;
+ QComPtr<IMFTransform> m_resampler;
QWindowsMediaFoundation *m_wmf = nullptr;
bool m_resamplerNeedsSampleBuffer = false;