summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpeghwaccel_d3d11.cpp16
-rw-r--r--src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp50
-rw-r--r--src/plugins/multimedia/ffmpeg/qwindowscamera.cpp28
-rw-r--r--src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol.cpp4
-rw-r--r--src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol_p.h4
-rw-r--r--src/plugins/multimedia/windows/decoder/mfdecodersourcereader.cpp10
-rw-r--r--src/plugins/multimedia/windows/decoder/mfdecodersourcereader_p.h6
-rw-r--r--src/plugins/multimedia/windows/evr/evrcustompresenter.cpp2
-rw-r--r--src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp36
-rw-r--r--src/plugins/multimedia/windows/evr/evrd3dpresentengine_p.h6
-rw-r--r--src/plugins/multimedia/windows/mediacapture/qwindowsmediadevicereader.cpp4
-rw-r--r--src/plugins/multimedia/windows/qwindowsformatinfo.cpp4
-rw-r--r--src/plugins/multimedia/windows/qwindowsvideodevices.cpp6
26 files changed, 135 insertions, 135 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;
diff --git a/src/plugins/multimedia/ffmpeg/qffmpeghwaccel_d3d11.cpp b/src/plugins/multimedia/ffmpeg/qffmpeghwaccel_d3d11.cpp
index c6f28543a..99180e5a6 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpeghwaccel_d3d11.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpeghwaccel_d3d11.cpp
@@ -27,7 +27,7 @@ namespace QFFmpeg {
class D3D11TextureSet : public TextureSet
{
public:
- D3D11TextureSet(QWindowsIUPointer<ID3D11Texture2D> &&tex)
+ D3D11TextureSet(QComPtr<ID3D11Texture2D> &&tex)
: m_tex(tex)
{}
@@ -37,7 +37,7 @@ public:
}
private:
- QWindowsIUPointer<ID3D11Texture2D> m_tex;
+ QComPtr<ID3D11Texture2D> m_tex;
};
@@ -46,9 +46,9 @@ D3D11TextureConverter::D3D11TextureConverter(QRhi *rhi)
{
}
-static QWindowsIUPointer<ID3D11Texture2D> getSharedTextureForDevice(ID3D11Device *dev, ID3D11Texture2D *tex)
+static QComPtr<ID3D11Texture2D> getSharedTextureForDevice(ID3D11Device *dev, ID3D11Texture2D *tex)
{
- QWindowsIUPointer<IDXGIResource> dxgiResource;
+ QComPtr<IDXGIResource> dxgiResource;
HRESULT hr = tex->QueryInterface(__uuidof(IDXGIResource), reinterpret_cast<void **>(dxgiResource.address()));
if (FAILED(hr)) {
qCDebug(qLcMediaFFmpegHWAccel) << "Failed to obtain resource handle from FFMpeg texture" << hr;
@@ -61,14 +61,14 @@ static QWindowsIUPointer<ID3D11Texture2D> getSharedTextureForDevice(ID3D11Device
return {};
}
- QWindowsIUPointer<ID3D11Texture2D> sharedTex;
+ QComPtr<ID3D11Texture2D> sharedTex;
hr = dev->OpenSharedResource(shared, __uuidof(ID3D11Texture2D), reinterpret_cast<void **>(sharedTex.address()));
if (FAILED(hr))
qCDebug(qLcMediaFFmpegHWAccel) << "Failed to share FFmpeg texture" << hr;
return sharedTex;
}
-static QWindowsIUPointer<ID3D11Texture2D> copyTextureFromArray(ID3D11Device *dev, ID3D11Texture2D *array, int index)
+static QComPtr<ID3D11Texture2D> copyTextureFromArray(ID3D11Device *dev, ID3D11Texture2D *array, int index)
{
D3D11_TEXTURE2D_DESC arrayDesc = {};
array->GetDesc(&arrayDesc);
@@ -83,14 +83,14 @@ static QWindowsIUPointer<ID3D11Texture2D> copyTextureFromArray(ID3D11Device *dev
texDesc.MiscFlags = 0;
texDesc.SampleDesc = { 1, 0};
- QWindowsIUPointer<ID3D11Texture2D> texCopy;
+ QComPtr<ID3D11Texture2D> texCopy;
HRESULT hr = dev->CreateTexture2D(&texDesc, nullptr, texCopy.address());
if (FAILED(hr)) {
qCDebug(qLcMediaFFmpegHWAccel) << "Failed to create texture" << hr;
return {};
}
- QWindowsIUPointer<ID3D11DeviceContext> ctx;
+ QComPtr<ID3D11DeviceContext> ctx;
dev->GetImmediateContext(ctx.address());
ctx->CopySubresourceRegion(texCopy.get(), 0, 0, 0, 0, array, index, nullptr);
diff --git a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp
index 040509bb1..16730ca06 100644
--- a/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp
+++ b/src/plugins/multimedia/ffmpeg/qffmpegscreencapture_dxgi.cpp
@@ -32,8 +32,8 @@ using namespace QWindowsMultimediaUtils;
class QD3D11TextureVideoBuffer : public QAbstractVideoBuffer
{
public:
- QD3D11TextureVideoBuffer(QWindowsIUPointer<ID3D11Device> &device, std::shared_ptr<QMutex> &mutex,
- QWindowsIUPointer<ID3D11Texture2D> &texture, QSize size)
+ QD3D11TextureVideoBuffer(QComPtr<ID3D11Device> &device, std::shared_ptr<QMutex> &mutex,
+ QComPtr<ID3D11Texture2D> &texture, QSize size)
: QAbstractVideoBuffer(QVideoFrame::NoHandle)
, m_device(device)
, m_texture(texture)
@@ -108,25 +108,25 @@ public:
}
private:
- QWindowsIUPointer<ID3D11Device> m_device;
- QWindowsIUPointer<ID3D11Texture2D> m_texture;
- QWindowsIUPointer<ID3D11Texture2D> m_cpuTexture;
- QWindowsIUPointer<ID3D11DeviceContext> m_ctx;
+ QComPtr<ID3D11Device> m_device;
+ QComPtr<ID3D11Texture2D> m_texture;
+ QComPtr<ID3D11Texture2D> m_cpuTexture;
+ QComPtr<ID3D11DeviceContext> m_ctx;
std::shared_ptr<QMutex> m_ctxMutex;
QSize m_size;
QVideoFrame::MapMode m_mapMode = QVideoFrame::NotMapped;
};
-static QMaybe<QWindowsIUPointer<ID3D11Texture2D>> getNextFrame(ID3D11Device *dev, IDXGIOutputDuplication *dup)
+static QMaybe<QComPtr<ID3D11Texture2D>> getNextFrame(ID3D11Device *dev, IDXGIOutputDuplication *dup)
{
- QWindowsIUPointer<IDXGIResource> frame;
+ QComPtr<IDXGIResource> frame;
DXGI_OUTDUPL_FRAME_INFO info;
HRESULT hr = dup->AcquireNextFrame(0, &info, frame.address());
if (FAILED(hr))
return hr == DXGI_ERROR_WAIT_TIMEOUT ? QString{}
: "Failed to grab the screen content" + errorString(hr);
- QWindowsIUPointer<ID3D11Texture2D> tex;
+ QComPtr<ID3D11Texture2D> tex;
hr = frame->QueryInterface(__uuidof(ID3D11Texture2D), reinterpret_cast<void **>(tex.address()));
if (FAILED(hr)) {
dup->ReleaseFrame();
@@ -137,14 +137,14 @@ static QMaybe<QWindowsIUPointer<ID3D11Texture2D>> getNextFrame(ID3D11Device *dev
tex->GetDesc(&texDesc);
texDesc.MiscFlags = 0;
texDesc.BindFlags = 0;
- QWindowsIUPointer<ID3D11Texture2D> texCopy;
+ QComPtr<ID3D11Texture2D> texCopy;
hr = dev->CreateTexture2D(&texDesc, nullptr, texCopy.address());
if (FAILED(hr)) {
dup->ReleaseFrame();
return "Failed to create texture with CPU access" + errorString(hr);
}
- QWindowsIUPointer<ID3D11DeviceContext> ctx;
+ QComPtr<ID3D11DeviceContext> ctx;
dev->GetImmediateContext(ctx.address());
ctx->CopyResource(texCopy.get(), tex.get());
@@ -156,8 +156,8 @@ static QMaybe<QWindowsIUPointer<ID3D11Texture2D>> getNextFrame(ID3D11Device *dev
class QFFmpegScreenCaptureDxgi::Grabber : public QFFmpegScreenCaptureThread
{
public:
- Grabber(QFFmpegScreenCaptureDxgi &screenCapture, QScreen *screen, QWindowsIUPointer<ID3D11Device> &device,
- QWindowsIUPointer<IDXGIOutputDuplication> &duplication)
+ Grabber(QFFmpegScreenCaptureDxgi &screenCapture, QScreen *screen, QComPtr<ID3D11Device> &device,
+ QComPtr<IDXGIOutputDuplication> &duplication)
: QFFmpegScreenCaptureThread()
, m_duplication(duplication)
, m_device(device)
@@ -213,8 +213,8 @@ public:
};
private:
- QWindowsIUPointer<IDXGIOutputDuplication> m_duplication;
- QWindowsIUPointer<ID3D11Device> m_device;
+ QComPtr<IDXGIOutputDuplication> m_duplication;
+ QComPtr<ID3D11Device> m_device;
QWaitCondition m_waitForFormat;
QVideoFrameFormat m_format;
QMutex m_formatMutex;
@@ -222,14 +222,14 @@ private:
QSize m_frameSize;
};
-static QMaybe<QWindowsIUPointer<IDXGIOutputDuplication>> duplicateOutput(ID3D11Device* device, IDXGIOutput *output)
+static QMaybe<QComPtr<IDXGIOutputDuplication>> duplicateOutput(ID3D11Device* device, IDXGIOutput *output)
{
- QWindowsIUPointer<IDXGIOutput1> output1;
+ QComPtr<IDXGIOutput1> output1;
HRESULT hr = output->QueryInterface(__uuidof(IDXGIOutput1), reinterpret_cast<void**>(output1.address()));
if (FAILED(hr))
return { "Failed to create IDXGIOutput1" + QString(std::system_category().message(hr).c_str()) };
- QWindowsIUPointer<IDXGIOutputDuplication> dup;
+ QComPtr<IDXGIOutputDuplication> dup;
hr = output1->DuplicateOutput(device, dup.address());
if (SUCCEEDED(hr))
return dup;
@@ -238,8 +238,8 @@ static QMaybe<QWindowsIUPointer<IDXGIOutputDuplication>> duplicateOutput(ID3D11D
}
struct DxgiScreen {
- QWindowsIUPointer<IDXGIAdapter1> adapter;
- QWindowsIUPointer<IDXGIOutput> output;
+ QComPtr<IDXGIAdapter1> adapter;
+ QComPtr<IDXGIOutput> output;
};
static QMaybe<DxgiScreen> findDxgiScreen(const QScreen *screen)
@@ -250,14 +250,14 @@ static QMaybe<DxgiScreen> findDxgiScreen(const QScreen *screen)
auto *winScreen = screen->nativeInterface<QNativeInterface::Private::QWindowsScreen>();
HMONITOR handle = winScreen ? winScreen->handle() : nullptr;
- QWindowsIUPointer<IDXGIFactory1> factory;
+ QComPtr<IDXGIFactory1> factory;
HRESULT hr = CreateDXGIFactory1(__uuidof(IDXGIFactory1), reinterpret_cast<void**>(factory.address()));
if (FAILED(hr))
return "Failed to create IDXGIFactory" + errorString(hr);
- QWindowsIUPointer<IDXGIAdapter1> adapter;
+ QComPtr<IDXGIAdapter1> adapter;
for (quint32 i = 0; SUCCEEDED(factory->EnumAdapters1(i, adapter.address())); i++, adapter.reset()) {
- QWindowsIUPointer<IDXGIOutput> output;
+ QComPtr<IDXGIOutput> output;
for (quint32 j = 0; SUCCEEDED(adapter->EnumOutputs(j, output.address())); j++, output.reset()) {
DXGI_OUTPUT_DESC desc = {};
output->GetDesc(&desc);
@@ -271,9 +271,9 @@ static QMaybe<DxgiScreen> findDxgiScreen(const QScreen *screen)
return "Could not find screen adapter" + screen->name();
}
-static QMaybe<QWindowsIUPointer<ID3D11Device>> createD3D11Device(IDXGIAdapter1 *adapter)
+static QMaybe<QComPtr<ID3D11Device>> createD3D11Device(IDXGIAdapter1 *adapter)
{
- QWindowsIUPointer<ID3D11Device> d3d11dev;
+ QComPtr<ID3D11Device> d3d11dev;
HRESULT hr = D3D11CreateDevice(adapter, D3D_DRIVER_TYPE_UNKNOWN, nullptr,
0, nullptr, 0, D3D11_SDK_VERSION,
d3d11dev.address(), nullptr, nullptr);
diff --git a/src/plugins/multimedia/ffmpeg/qwindowscamera.cpp b/src/plugins/multimedia/ffmpeg/qwindowscamera.cpp
index 4a4e7a921..7a644b88c 100644
--- a/src/plugins/multimedia/ffmpeg/qwindowscamera.cpp
+++ b/src/plugins/multimedia/ffmpeg/qwindowscamera.cpp
@@ -73,11 +73,11 @@ private:
QMutex m_mutex;
};
-static QWindowsIUPointer<IMFSourceReader> createCameraReader(IMFMediaSource *mediaSource,
- const QWindowsIUPointer<CameraReaderCallback> &callback)
+static QComPtr<IMFSourceReader> createCameraReader(IMFMediaSource *mediaSource,
+ const QComPtr<CameraReaderCallback> &callback)
{
- QWindowsIUPointer<IMFSourceReader> sourceReader;
- QWindowsIUPointer<IMFAttributes> readerAttributes;
+ QComPtr<IMFSourceReader> sourceReader;
+ QComPtr<IMFAttributes> readerAttributes;
HRESULT hr = MFCreateAttributes(readerAttributes.address(), 1);
if (SUCCEEDED(hr)) {
@@ -93,10 +93,10 @@ static QWindowsIUPointer<IMFSourceReader> createCameraReader(IMFMediaSource *med
return sourceReader;
}
-static QWindowsIUPointer<IMFMediaSource> createCameraSource(const QString &deviceId)
+static QComPtr<IMFMediaSource> createCameraSource(const QString &deviceId)
{
- QWindowsIUPointer<IMFMediaSource> mediaSource;
- QWindowsIUPointer<IMFAttributes> sourceAttributes;
+ QComPtr<IMFMediaSource> mediaSource;
+ QComPtr<IMFAttributes> sourceAttributes;
HRESULT hr = MFCreateAttributes(sourceAttributes.address(), 2);
if (SUCCEEDED(hr)) {
hr = sourceAttributes->SetGUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, QMM_MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID);
@@ -144,11 +144,11 @@ static bool setCameraReaderFormat(IMFSourceReader *sourceReader, IMFMediaType *v
return SUCCEEDED(hr);
}
-static QWindowsIUPointer<IMFMediaType> findVideoType(IMFSourceReader *reader,
+static QComPtr<IMFMediaType> findVideoType(IMFSourceReader *reader,
const QCameraFormat &format)
{
for (DWORD i = 0;; ++i) {
- QWindowsIUPointer<IMFMediaType> candidate;
+ QComPtr<IMFMediaType> candidate;
HRESULT hr = reader->GetNativeMediaType(MF_SOURCE_READER_FIRST_VIDEO_STREAM, i,
candidate.address());
if (FAILED(hr))
@@ -185,7 +185,7 @@ public:
if (!ac->m_source)
return {};
- ac->m_readerCallback = QWindowsIUPointer<CameraReaderCallback>(new CameraReaderCallback);
+ ac->m_readerCallback = QComPtr<CameraReaderCallback>(new CameraReaderCallback);
ac->m_readerCallback->setActiveCamera(ac.get());
ac->m_reader = createCameraReader(ac->m_source.get(), ac->m_readerCallback);
if (!ac->m_reader)
@@ -224,7 +224,7 @@ public:
}
if (sample) {
- QWindowsIUPointer<IMFMediaBuffer> mediaBuffer;
+ QComPtr<IMFMediaBuffer> mediaBuffer;
if (SUCCEEDED(sample->ConvertToContiguousBuffer(mediaBuffer.address()))) {
DWORD bufLen = 0;
@@ -269,9 +269,9 @@ private:
QSemaphore m_flushWait;
- QWindowsIUPointer<IMFMediaSource> m_source;
- QWindowsIUPointer<IMFSourceReader> m_reader;
- QWindowsIUPointer<CameraReaderCallback> m_readerCallback;
+ QComPtr<IMFMediaSource> m_source;
+ QComPtr<IMFSourceReader> m_reader;
+ QComPtr<CameraReaderCallback> m_readerCallback;
QVideoFrameFormat m_frameFormat;
int m_videoFrameStride = 0;
diff --git a/src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol.cpp b/src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol.cpp
index 948151916..1f8c01280 100644
--- a/src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol.cpp
+++ b/src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol.cpp
@@ -101,7 +101,7 @@ void MFAudioDecoderControl::startReadingSource(IMFMediaSource *source)
return;
}
- QWindowsIUPointer<IMFPresentationDescriptor> pd;
+ QComPtr<IMFPresentationDescriptor> pd;
if (SUCCEEDED(source->CreatePresentationDescriptor(pd.address()))) {
UINT64 duration = 0;
pd->GetUINT64(MF_PD_DURATION, &duration);
@@ -173,7 +173,7 @@ void MFAudioDecoderControl::stop()
}
}
-void MFAudioDecoderControl::handleNewSample(QWindowsIUPointer<IMFSample> sample)
+void MFAudioDecoderControl::handleNewSample(QComPtr<IMFSample> sample)
{
Q_ASSERT(sample);
diff --git a/src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol_p.h b/src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol_p.h
index 41957f448..3e3a405a3 100644
--- a/src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol_p.h
+++ b/src/plugins/multimedia/windows/decoder/mfaudiodecodercontrol_p.h
@@ -51,13 +51,13 @@ public:
private Q_SLOTS:
void handleMediaSourceReady();
void handleMediaSourceError(long hr);
- void handleNewSample(QWindowsIUPointer<IMFSample>);
+ void handleNewSample(QComPtr<IMFSample>);
void handleSourceFinished();
private:
void startReadingSource(IMFMediaSource *source);
- QWindowsIUPointer<MFDecoderSourceReader> m_decoderSourceReader;
+ QComPtr<MFDecoderSourceReader> m_decoderSourceReader;
SourceResolver *m_sourceResolver;
QWindowsResampler m_resampler;
QUrl m_source;
diff --git a/src/plugins/multimedia/windows/decoder/mfdecodersourcereader.cpp b/src/plugins/multimedia/windows/decoder/mfdecodersourcereader.cpp
index 017f3926a..9c69fbd25 100644
--- a/src/plugins/multimedia/windows/decoder/mfdecodersourcereader.cpp
+++ b/src/plugins/multimedia/windows/decoder/mfdecodersourcereader.cpp
@@ -9,15 +9,15 @@
QT_BEGIN_NAMESPACE
-QWindowsIUPointer<IMFMediaType> MFDecoderSourceReader::setSource(IMFMediaSource *source, QAudioFormat::SampleFormat sampleFormat)
+QComPtr<IMFMediaType> MFDecoderSourceReader::setSource(IMFMediaSource *source, QAudioFormat::SampleFormat sampleFormat)
{
- QWindowsIUPointer<IMFMediaType> mediaType;
+ QComPtr<IMFMediaType> mediaType;
m_sourceReader.reset();
if (!source)
return mediaType;
- QWindowsIUPointer<IMFAttributes> attr;
+ QComPtr<IMFAttributes> attr;
MFCreateAttributes(attr.address(), 1);
if (FAILED(attr->SetUnknown(MF_SOURCE_READER_ASYNC_CALLBACK, this)))
return mediaType;
@@ -34,7 +34,7 @@ QWindowsIUPointer<IMFMediaType> MFDecoderSourceReader::setSource(IMFMediaSource
m_sourceReader->SetStreamSelection(DWORD(MF_SOURCE_READER_ALL_STREAMS), FALSE);
m_sourceReader->SetStreamSelection(DWORD(MF_SOURCE_READER_FIRST_AUDIO_STREAM), TRUE);
- QWindowsIUPointer<IMFMediaType> pPartialType;
+ QComPtr<IMFMediaType> pPartialType;
MFCreateMediaType(pPartialType.address());
pPartialType->SetGUID(MF_MT_MAJOR_TYPE, MFMediaType_Audio);
pPartialType->SetGUID(MF_MT_SUBTYPE, sampleFormat == QAudioFormat::Float ? MFAudioFormat_Float : MFAudioFormat_PCM);
@@ -92,7 +92,7 @@ STDMETHODIMP MFDecoderSourceReader::OnReadSample(HRESULT hrStatus, DWORD dwStrea
Q_UNUSED(llTimestamp);
if (pSample) {
pSample->AddRef();
- emit newSample(QWindowsIUPointer{pSample});
+ emit newSample(QComPtr{pSample});
} else if ((dwStreamFlags & MF_SOURCE_READERF_ENDOFSTREAM) == MF_SOURCE_READERF_ENDOFSTREAM) {
emit finished();
}
diff --git a/src/plugins/multimedia/windows/decoder/mfdecodersourcereader_p.h b/src/plugins/multimedia/windows/decoder/mfdecodersourcereader_p.h
index 584446ba1..d964ff482 100644
--- a/src/plugins/multimedia/windows/decoder/mfdecodersourcereader_p.h
+++ b/src/plugins/multimedia/windows/decoder/mfdecodersourcereader_p.h
@@ -33,7 +33,7 @@ public:
~MFDecoderSourceReader() override {}
void clearSource() { m_sourceReader.reset(); }
- QWindowsIUPointer<IMFMediaType> setSource(IMFMediaSource *source, QAudioFormat::SampleFormat);
+ QComPtr<IMFMediaType> setSource(IMFMediaSource *source, QAudioFormat::SampleFormat);
void readNextSample();
@@ -49,12 +49,12 @@ public:
STDMETHODIMP OnEvent(DWORD, IMFMediaEvent *) override { return S_OK; }
Q_SIGNALS:
- void newSample(QWindowsIUPointer<IMFSample>);
+ void newSample(QComPtr<IMFSample>);
void finished();
private:
long m_cRef = 1;
- QWindowsIUPointer<IMFSourceReader> m_sourceReader;
+ QComPtr<IMFSourceReader> m_sourceReader;
};
diff --git a/src/plugins/multimedia/windows/evr/evrcustompresenter.cpp b/src/plugins/multimedia/windows/evr/evrcustompresenter.cpp
index 742608f0f..bb6d0390f 100644
--- a/src/plugins/multimedia/windows/evr/evrcustompresenter.cpp
+++ b/src/plugins/multimedia/windows/evr/evrcustompresenter.cpp
@@ -1898,7 +1898,7 @@ void EVRCustomPresenter::presentSample(IMFSample *sample)
frame.setEndTime(frame.endTime() + m_positionOffset);
}
- QWindowsIUPointer<IMFMediaType> inputStreamType;
+ QComPtr<IMFMediaType> inputStreamType;
if (SUCCEEDED(m_mixer->GetInputCurrentType(0, inputStreamType.address()))) {
auto rotation = static_cast<MFVideoRotationFormat>(MFGetAttributeUINT32(inputStreamType.get(), MF_MT_VIDEO_ROTATION, 0));
switch (rotation) {
diff --git a/src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp b/src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp
index 2768c3ac7..7fab5b8cd 100644
--- a/src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp
+++ b/src/plugins/multimedia/windows/evr/evrd3dpresentengine.cpp
@@ -30,7 +30,7 @@ static Q_LOGGING_CATEGORY(qLcEvrD3DPresentEngine, "qt.multimedia.evrd3dpresenten
class IMFSampleVideoBuffer: public QAbstractVideoBuffer
{
public:
- IMFSampleVideoBuffer(QWindowsIUPointer<IDirect3DDevice9Ex> device,
+ IMFSampleVideoBuffer(QComPtr<IDirect3DDevice9Ex> device,
IMFSample *sample, QRhi *rhi, QVideoFrame::HandleType type = QVideoFrame::NoHandle)
: QAbstractVideoBuffer(type, rhi)
, m_device(device)
@@ -59,12 +59,12 @@ public:
return {};
} else {
- QWindowsIUPointer<IMFMediaBuffer> buffer;
+ QComPtr<IMFMediaBuffer> buffer;
HRESULT hr = m_sample->GetBufferByIndex(0, buffer.address());
if (FAILED(hr))
return {};
- QWindowsIUPointer<IDirect3DSurface9> surface;
+ QComPtr<IDirect3DSurface9> surface;
hr = MFGetService(buffer.get(), MR_BUFFER_SERVICE, IID_IDirect3DSurface9, (void **)(surface.address()));
if (FAILED(hr))
return {};
@@ -106,18 +106,18 @@ public:
}
protected:
- QWindowsIUPointer<IDirect3DDevice9Ex> m_device;
- QWindowsIUPointer<IMFSample> m_sample;
+ QComPtr<IDirect3DDevice9Ex> m_device;
+ QComPtr<IMFSample> m_sample;
private:
- QWindowsIUPointer<IDirect3DSurface9> m_memSurface;
+ QComPtr<IDirect3DSurface9> m_memSurface;
QVideoFrame::MapMode m_mapMode;
};
class QVideoFrameD3D11Textures: public QVideoFrameTextures
{
public:
- QVideoFrameD3D11Textures(std::unique_ptr<QRhiTexture> &&tex, QWindowsIUPointer<ID3D11Texture2D> &&d3d11tex)
+ QVideoFrameD3D11Textures(std::unique_ptr<QRhiTexture> &&tex, QComPtr<ID3D11Texture2D> &&d3d11tex)
: m_tex(std::move(tex))
, m_d3d11tex(std::move(d3d11tex))
{}
@@ -129,13 +129,13 @@ public:
private:
std::unique_ptr<QRhiTexture> m_tex;
- QWindowsIUPointer<ID3D11Texture2D> m_d3d11tex;
+ QComPtr<ID3D11Texture2D> m_d3d11tex;
};
class D3D11TextureVideoBuffer: public IMFSampleVideoBuffer
{
public:
- D3D11TextureVideoBuffer(QWindowsIUPointer<IDirect3DDevice9Ex> device, IMFSample *sample,
+ D3D11TextureVideoBuffer(QComPtr<IDirect3DDevice9Ex> device, IMFSample *sample,
HANDLE sharedHandle, QRhi *rhi)
: IMFSampleVideoBuffer(std::move(device), sample, rhi, QVideoFrame::RhiTextureHandle)
, m_sharedHandle(sharedHandle)
@@ -154,7 +154,7 @@ public:
if (!dev)
return {};
- QWindowsIUPointer<ID3D11Texture2D> d3d11tex;
+ QComPtr<ID3D11Texture2D> d3d11tex;
HRESULT hr = dev->OpenSharedResource(m_sharedHandle, __uuidof(ID3D11Texture2D), (void**)(d3d11tex.address()));
if (SUCCEEDED(hr)) {
D3D11_TEXTURE2D_DESC desc = {};
@@ -288,7 +288,7 @@ private:
class OpenGlVideoBuffer: public IMFSampleVideoBuffer
{
public:
- OpenGlVideoBuffer(QWindowsIUPointer<IDirect3DDevice9Ex> device, IMFSample *sample,
+ OpenGlVideoBuffer(QComPtr<IDirect3DDevice9Ex> device, IMFSample *sample,
const WglNvDxInterop &wglNvDxInterop, HANDLE sharedHandle, QRhi *rhi)
: IMFSampleVideoBuffer(std::move(device), sample, rhi, QVideoFrame::RhiTextureHandle)
, m_sharedHandle(sharedHandle)
@@ -298,12 +298,12 @@ public:
std::unique_ptr<QVideoFrameTextures> mapTextures(QRhi *rhi) override
{
if (!m_texture) {
- QWindowsIUPointer<IMFMediaBuffer> buffer;
+ QComPtr<IMFMediaBuffer> buffer;
HRESULT hr = m_sample->GetBufferByIndex(0, buffer.address());
if (FAILED(hr))
return {};
- QWindowsIUPointer<IDirect3DSurface9> surface;
+ QComPtr<IDirect3DSurface9> surface;
hr = MFGetService(buffer.get(), MR_BUFFER_SERVICE, IID_IDirect3DSurface9,
(void **)(surface.address()));
if (FAILED(hr))
@@ -320,7 +320,7 @@ public:
private:
HANDLE m_sharedHandle = nullptr;
WglNvDxInterop m_wgl;
- QWindowsIUPointer<IDirect3DTexture9> m_texture;
+ QComPtr<IDirect3DTexture9> m_texture;
};
#endif
@@ -482,7 +482,7 @@ HRESULT D3DPresentEngine::createD3DDevice()
pp.Flags = D3DPRESENTFLAG_VIDEO;
pp.PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT;
- QWindowsIUPointer<IDirect3DDevice9Ex> device;
+ QComPtr<IDirect3DDevice9Ex> device;
hr = m_D3D9->CreateDeviceEx(
adapterID,
@@ -604,18 +604,18 @@ HRESULT D3DPresentEngine::createVideoSamples(IMFMediaType *format, QList<IMFSamp
for (int i = 0; i < PRESENTER_BUFFER_COUNT; i++) {
// texture ref cnt is increased by GetSurfaceLevel()/MFCreateVideoSampleFromSurface()
// below, so it will be destroyed only when the sample pool is released.
- QWindowsIUPointer<IDirect3DTexture9> texture;
+ QComPtr<IDirect3DTexture9> texture;
HANDLE sharedHandle = nullptr;
hr = m_device->CreateTexture(width, height, 1, D3DUSAGE_RENDERTARGET, (D3DFORMAT)d3dFormat, D3DPOOL_DEFAULT, texture.address(), &sharedHandle);
if (FAILED(hr))
break;
- QWindowsIUPointer<IDirect3DSurface9> surface;
+ QComPtr<IDirect3DSurface9> surface;
hr = texture->GetSurfaceLevel(0, surface.address());
if (FAILED(hr))
break;
- QWindowsIUPointer<IMFSample> videoSample;
+ QComPtr<IMFSample> videoSample;
hr = MFCreateVideoSampleFromSurface(surface.get(), videoSample.address());
if (FAILED(hr))
break;
diff --git a/src/plugins/multimedia/windows/evr/evrd3dpresentengine_p.h b/src/plugins/multimedia/windows/evr/evrd3dpresentengine_p.h
index b3be7f560..82a5f7112 100644
--- a/src/plugins/multimedia/windows/evr/evrd3dpresentengine_p.h
+++ b/src/plugins/multimedia/windows/evr/evrd3dpresentengine_p.h
@@ -125,9 +125,9 @@ private:
UINT m_deviceResetToken;
D3DDISPLAYMODE m_displayMode;
- QWindowsIUPointer<IDirect3D9Ex> m_D3D9;
- QWindowsIUPointer<IDirect3DDevice9Ex> m_device;
- QWindowsIUPointer<IDirect3DDeviceManager9> m_devices;
+ QComPtr<IDirect3D9Ex> m_D3D9;
+ QComPtr<IDirect3DDevice9Ex> m_device;
+ QComPtr<IDirect3DDeviceManager9> m_devices;
QVideoFrameFormat m_surfaceFormat;
diff --git a/src/plugins/multimedia/windows/mediacapture/qwindowsmediadevicereader.cpp b/src/plugins/multimedia/windows/mediacapture/qwindowsmediadevicereader.cpp
index 7e27886a7..e52ebf204 100644
--- a/src/plugins/multimedia/windows/mediacapture/qwindowsmediadevicereader.cpp
+++ b/src/plugins/multimedia/windows/mediacapture/qwindowsmediadevicereader.cpp
@@ -638,7 +638,7 @@ QMediaRecorder::Error QWindowsMediaDeviceReader::startRecording(
if (!m_active || m_recording || (videoFormat == GUID_NULL && audioFormat == GUID_NULL))
return QMediaRecorder::ResourceError;
- QWindowsIUPointer<IMFAttributes> writerAttributes;
+ QComPtr<IMFAttributes> writerAttributes;
HRESULT hr = MFCreateAttributes(writerAttributes.address(), 2);
if (FAILED(hr))
@@ -654,7 +654,7 @@ QMediaRecorder::Error QWindowsMediaDeviceReader::startRecording(
if (FAILED(hr))
return QMediaRecorder::ResourceError;
- QWindowsIUPointer<IMFSinkWriter> sinkWriter;
+ QComPtr<IMFSinkWriter> sinkWriter;
hr = MFCreateSinkWriterFromURL(reinterpret_cast<LPCWSTR>(fileName.utf16()),
nullptr, writerAttributes.get(), sinkWriter.address());
if (FAILED(hr))
diff --git a/src/plugins/multimedia/windows/qwindowsformatinfo.cpp b/src/plugins/multimedia/windows/qwindowsformatinfo.cpp
index 510927b67..509967285 100644
--- a/src/plugins/multimedia/windows/qwindowsformatinfo.cpp
+++ b/src/plugins/multimedia/windows/qwindowsformatinfo.cpp
@@ -40,13 +40,13 @@ static QSet<T> getCodecSet(GUID category)
if (SUCCEEDED(hr)) {
for (UINT32 i = 0; i < num; ++i) {
- QWindowsIUPointer<IMFTransform> transform;
+ QComPtr<IMFTransform> transform;
UINT32 typeIndex = 0;
hr = activateArray[i]->ActivateObject(IID_PPV_ARGS(transform.address()));
while (SUCCEEDED(hr)) {
- QWindowsIUPointer<IMFMediaType> mediaType;
+ QComPtr<IMFMediaType> mediaType;
if (category == MFT_CATEGORY_AUDIO_ENCODER || category == MFT_CATEGORY_VIDEO_ENCODER)
hr = transform->GetOutputAvailableType(0, typeIndex++, mediaType.address());
diff --git a/src/plugins/multimedia/windows/qwindowsvideodevices.cpp b/src/plugins/multimedia/windows/qwindowsvideodevices.cpp
index bd0624bfc..78fe92ff2 100644
--- a/src/plugins/multimedia/windows/qwindowsvideodevices.cpp
+++ b/src/plugins/multimedia/windows/qwindowsvideodevices.cpp
@@ -155,7 +155,7 @@ static std::optional<QCameraDevice> createCameraDevice(IMFActivate *device)
if (FAILED(hr))
return {};
- QWindowsIUPointer<IMFSourceReader> reader;
+ QComPtr<IMFSourceReader> reader;
hr = MFCreateSourceReaderFromMediaSource(source, NULL, reader.address());
if (FAILED(hr))
return {};
@@ -164,7 +164,7 @@ static std::optional<QCameraDevice> createCameraDevice(IMFActivate *device)
QList<QCameraFormat> videoFormats;
for (DWORD i = 0;; ++i) {
// Loop through the supported formats for the video device
- QWindowsIUPointer<IMFMediaType> mediaFormat;
+ QComPtr<IMFMediaType> mediaFormat;
hr = reader->GetNativeMediaType((DWORD)MF_SOURCE_READER_FIRST_VIDEO_STREAM, i,
mediaFormat.address());
if (FAILED(hr))
@@ -208,7 +208,7 @@ QList<QCameraDevice> QWindowsVideoDevices::videoDevices() const
{
QList<QCameraDevice> cameras;
- QWindowsIUPointer<IMFAttributes> attr;
+ QComPtr<IMFAttributes> attr;
HRESULT hr = MFCreateAttributes(attr.address(), 2);
if (FAILED(hr))
return {};