diff options
author | Jøger Hansegård <joger.hansegard@qt.io> | 2023-05-13 08:52:54 +0200 |
---|---|---|
committer | Jøger Hansegård <joger.hansegard@qt.io> | 2023-05-15 21:24:09 +0200 |
commit | 193d7e1bfd130603db5b5ac1f633de50af7e7237 (patch) | |
tree | d0f95130c02effa3fc4030b5a067b6e5c9a857f6 /src/multimedia/windows | |
parent | 954053c17cb53b41c8ecf8cb794898c89fdef5e4 (diff) | |
download | qtmultimedia-193d7e1bfd130603db5b5ac1f633de50af7e7237.tar.gz |
Rename QWindowsIUPointer template class to QComPtr
The name QWindowsIUPointer feels clunky and does not add clarity. On the
Windows platform, the term ComPtr, CComPtr or com_ptr is well
established and understood. By renaming the QWindowsIUPointer to QComPtr
we get code that is easier to read, particularly when the pointer is
used in template classes such as std::vector<QComPtr> or
QMaybe<QComPtr>.
Task-number: QTBUG-113460
Pick-to: 6.5
Change-Id: Ia3ef06c4a1c0e45503ba5204a4d2fd6197114b15
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Diffstat (limited to 'src/multimedia/windows')
-rw-r--r-- | src/multimedia/windows/qwindowsaudiodevice.cpp | 6 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsaudiodevice_p.h | 6 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsaudiosink.cpp | 2 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsaudiosink_p.h | 8 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsaudiosource.cpp | 2 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsaudiosource_p.h | 8 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsaudioutils.cpp | 4 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsaudioutils_p.h | 2 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsiupointer_p.h | 16 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsmediadevices.cpp | 18 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsmediadevices_p.h | 4 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsresampler.cpp | 16 | ||||
-rw-r--r-- | src/multimedia/windows/qwindowsresampler_p.h | 2 |
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; |