diff options
Diffstat (limited to 'src/plugins/directshow/common')
16 files changed, 69 insertions, 92 deletions
diff --git a/src/plugins/directshow/common/directshowbasefilter.cpp b/src/plugins/directshow/common/directshowbasefilter.cpp index 2792dc3c6..dfea2460f 100644 --- a/src/plugins/directshow/common/directshowbasefilter.cpp +++ b/src/plugins/directshow/common/directshowbasefilter.cpp @@ -45,10 +45,6 @@ QT_BEGIN_NAMESPACE DirectShowBaseFilter::DirectShowBaseFilter() : m_mutex(QMutex::Recursive) - , m_state(State_Stopped) - , m_graph(NULL) - , m_clock(NULL) - , m_sink(NULL) { } @@ -57,7 +53,7 @@ DirectShowBaseFilter::~DirectShowBaseFilter() { if (m_clock) { m_clock->Release(); - m_clock = NULL; + m_clock = nullptr; } } @@ -75,9 +71,8 @@ HRESULT DirectShowBaseFilter::NotifyEvent(long eventCode, LONG_PTR eventParam1, eventParam2 = (LONG_PTR)(IBaseFilter*)this; return sink->Notify(eventCode, eventParam1, eventParam2); - } else { - return E_NOTIMPL; } + return E_NOTIMPL; } HRESULT DirectShowBaseFilter::Run(REFERENCE_TIME tStart) @@ -207,7 +202,7 @@ HRESULT DirectShowBaseFilter::FindPin(LPCWSTR Id, IPin **ppPin) } } - *ppPin = 0; + *ppPin = nullptr; return VFW_E_NOT_FOUND; } @@ -217,7 +212,7 @@ HRESULT DirectShowBaseFilter::JoinFilterGraph(IFilterGraph *pGraph, LPCWSTR pNam m_filterName = QString::fromWCharArray(pName); m_graph = pGraph; - m_sink = NULL; + m_sink = nullptr; if (m_graph) { if (SUCCEEDED(m_graph->QueryInterface(IID_PPV_ARGS(&m_sink)))) diff --git a/src/plugins/directshow/common/directshowbasefilter.h b/src/plugins/directshow/common/directshowbasefilter.h index fe78f96b2..ea5b8fafe 100644 --- a/src/plugins/directshow/common/directshowbasefilter.h +++ b/src/plugins/directshow/common/directshowbasefilter.h @@ -79,12 +79,12 @@ public: protected: QMutex m_mutex; - FILTER_STATE m_state; - IFilterGraph *m_graph; - IReferenceClock *m_clock; - IMediaEventSink *m_sink; + FILTER_STATE m_state = State_Stopped; + IFilterGraph *m_graph = nullptr; + IReferenceClock *m_clock = nullptr; + IMediaEventSink *m_sink = nullptr; QString m_filterName; - REFERENCE_TIME m_startTime; + REFERENCE_TIME m_startTime = 0; private: Q_DISABLE_COPY(DirectShowBaseFilter) diff --git a/src/plugins/directshow/common/directshoweventloop.cpp b/src/plugins/directshow/common/directshoweventloop.cpp index fbc7b8cee..a38c26ef4 100644 --- a/src/plugins/directshow/common/directshoweventloop.cpp +++ b/src/plugins/directshow/common/directshoweventloop.cpp @@ -51,7 +51,6 @@ public: DirectShowPostedEvent(QObject *receiver, QEvent *event) : receiver(receiver) , event(event) - , next(0) { } @@ -62,15 +61,13 @@ public: QObject *receiver; QEvent *event; - DirectShowPostedEvent *next; + DirectShowPostedEvent *next = nullptr; }; DirectShowEventLoop::DirectShowEventLoop(QObject *parent) : QObject(parent) - , m_postsHead(0) - , m_postsTail(0) - , m_eventHandle(::CreateEvent(0, 0, 0, 0)) - , m_waitHandle(::CreateEvent(0, 0, 0, 0)) + , m_eventHandle(::CreateEvent(nullptr, 0, 0, nullptr)) + , m_waitHandle(::CreateEvent(nullptr, 0, 0, nullptr)) { } @@ -141,7 +138,7 @@ void DirectShowEventLoop::processEvents() m_postsHead = m_postsHead->next; if (!m_postsHead) - m_postsTail = 0; + m_postsTail = nullptr; locker.unlock(); QCoreApplication::sendEvent(post->receiver, post->event); diff --git a/src/plugins/directshow/common/directshoweventloop.h b/src/plugins/directshow/common/directshoweventloop.h index a29274b7b..984bd23a4 100644 --- a/src/plugins/directshow/common/directshoweventloop.h +++ b/src/plugins/directshow/common/directshoweventloop.h @@ -54,7 +54,7 @@ class DirectShowEventLoop : public QObject { Q_OBJECT public: - DirectShowEventLoop(QObject *parent = 0); + DirectShowEventLoop(QObject *parent = nullptr); ~DirectShowEventLoop() override; void wait(QMutex *mutex); @@ -68,8 +68,8 @@ protected: private: void processEvents(); - DirectShowPostedEvent *m_postsHead; - DirectShowPostedEvent *m_postsTail; + DirectShowPostedEvent *m_postsHead = nullptr; + DirectShowPostedEvent *m_postsTail = nullptr; HANDLE m_eventHandle; HANDLE m_waitHandle; QMutex m_mutex; diff --git a/src/plugins/directshow/common/directshowglobal.h b/src/plugins/directshow/common/directshowglobal.h index 5f391710e..12693e4f1 100644 --- a/src/plugins/directshow/common/directshowglobal.h +++ b/src/plugins/directshow/common/directshowglobal.h @@ -53,35 +53,35 @@ QT_END_NAMESPACE template <typename T> T *com_cast(IUnknown *unknown, const IID &iid) { - T *iface = 0; + T *iface = nullptr; return unknown && unknown->QueryInterface(iid, reinterpret_cast<void **>(&iface)) == S_OK ? iface - : 0; + : nullptr; } template <typename T> T *com_new(const IID &clsid) { - T *object = 0; + T *object = nullptr; return CoCreateInstance( clsid, - NULL, + nullptr, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&object)) == S_OK ? object - : 0; + : nullptr; } template <typename T> T *com_new(const IID &clsid, const IID &iid) { - T *object = 0; + T *object = nullptr; return CoCreateInstance( clsid, - NULL, + nullptr, CLSCTX_INPROC_SERVER, iid, reinterpret_cast<void **>(&object)) == S_OK ? object - : 0; + : nullptr; } DEFINE_GUID(MEDIASUBTYPE_I420, diff --git a/src/plugins/directshow/common/directshowmediatype.cpp b/src/plugins/directshow/common/directshowmediatype.cpp index fe86e0204..103f1ddc1 100644 --- a/src/plugins/directshow/common/directshowmediatype.cpp +++ b/src/plugins/directshow/common/directshowmediatype.cpp @@ -52,7 +52,7 @@ namespace { { QVideoFrame::Format_ARGB32, MEDIASUBTYPE_ARGB32 }, { QVideoFrame::Format_RGB32, MEDIASUBTYPE_RGB32 }, - { QVideoFrame::Format_RGB24, MEDIASUBTYPE_RGB24 }, + { QVideoFrame::Format_BGR24, MEDIASUBTYPE_RGB24 }, { QVideoFrame::Format_RGB565, MEDIASUBTYPE_RGB565 }, { QVideoFrame::Format_RGB555, MEDIASUBTYPE_RGB555 }, { QVideoFrame::Format_AYUV444, MEDIASUBTYPE_AYUV }, diff --git a/src/plugins/directshow/common/directshowmediatypeenum.cpp b/src/plugins/directshow/common/directshowmediatypeenum.cpp index 10623a246..0ff147fea 100644 --- a/src/plugins/directshow/common/directshowmediatypeenum.cpp +++ b/src/plugins/directshow/common/directshowmediatypeenum.cpp @@ -42,17 +42,13 @@ #include "directshowpin.h" DirectShowMediaTypeEnum::DirectShowMediaTypeEnum(DirectShowPin *pin) - : m_pin(pin) - , m_mediaTypes(pin->supportedMediaTypes()) - , m_index(0) + : m_mediaTypes(pin->supportedMediaTypes()) { m_pin->AddRef(); } DirectShowMediaTypeEnum::DirectShowMediaTypeEnum(const QList<DirectShowMediaType> &types) - : m_pin(NULL) - , m_mediaTypes(types) - , m_index(0) + : m_mediaTypes(types) { } diff --git a/src/plugins/directshow/common/directshowmediatypeenum.h b/src/plugins/directshow/common/directshowmediatypeenum.h index e78e0a0f2..a5c347004 100644 --- a/src/plugins/directshow/common/directshowmediatypeenum.h +++ b/src/plugins/directshow/common/directshowmediatypeenum.h @@ -67,9 +67,9 @@ public: private: Q_DISABLE_COPY(DirectShowMediaTypeEnum) - DirectShowPin *m_pin; + DirectShowPin *m_pin = nullptr; QList<DirectShowMediaType> m_mediaTypes; - int m_index; + int m_index = 0; }; QT_END_NAMESPACE diff --git a/src/plugins/directshow/common/directshowpin.cpp b/src/plugins/directshow/common/directshowpin.cpp index 508a9b21d..390d410a4 100644 --- a/src/plugins/directshow/common/directshowpin.cpp +++ b/src/plugins/directshow/common/directshowpin.cpp @@ -52,7 +52,6 @@ DirectShowPin::DirectShowPin(DirectShowBaseFilter *filter, const QString &name, , m_filter(filter) , m_name(name) , m_direction(direction) - , m_peerPin(NULL) { } @@ -76,11 +75,11 @@ HRESULT DirectShowPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt) if (pd == m_direction) return VFW_E_INVALID_DIRECTION; - if (pmt != NULL && DirectShowMediaType::isPartiallySpecified(pmt)) { + if (pmt != nullptr && DirectShowMediaType::isPartiallySpecified(pmt)) { // If the type is fully specified, use it hr = tryConnect(pReceivePin, pmt); } else { - IEnumMediaTypes *enumMediaTypes = NULL; + IEnumMediaTypes *enumMediaTypes = nullptr; // First, try the receiving pin's preferred types if (SUCCEEDED(pReceivePin->EnumMediaTypes(&enumMediaTypes))) { @@ -108,13 +107,13 @@ HRESULT DirectShowPin::tryMediaTypes(IPin *pin, const AM_MEDIA_TYPE *partialType if (FAILED(hr)) return hr; - AM_MEDIA_TYPE *mediaType = NULL; + AM_MEDIA_TYPE *mediaType = nullptr; ULONG mediaCount = 0; HRESULT hrFailure = VFW_E_NO_ACCEPTABLE_TYPES; for (; enumMediaTypes->Next(1, &mediaType, &mediaCount) == S_OK;) { - if (mediaType && (partialType == NULL || DirectShowMediaType::isCompatible(mediaType, partialType))) { + if (mediaType && (partialType == nullptr || DirectShowMediaType::isCompatible(mediaType, partialType))) { hr = tryConnect(pin, mediaType); if (FAILED(hr) && (hr != E_FAIL) @@ -157,8 +156,8 @@ HRESULT DirectShowPin::tryConnect(IPin *pin, const AM_MEDIA_TYPE *type) if (FAILED(hr)) { connectionEnded(); m_peerPin->Release(); - m_peerPin = NULL; - setMediaType(NULL); + m_peerPin = nullptr; + setMediaType(nullptr); return hr; } @@ -197,8 +196,8 @@ HRESULT DirectShowPin::ReceiveConnection(IPin *pConnector, const AM_MEDIA_TYPE * if (FAILED(hr)) { connectionEnded(); m_peerPin->Release(); - m_peerPin = NULL; - setMediaType(NULL); + m_peerPin = nullptr; + setMediaType(nullptr); return hr; } @@ -218,9 +217,9 @@ HRESULT DirectShowPin::Disconnect() return hr; m_peerPin->Release(); - m_peerPin = NULL; + m_peerPin = nullptr; - setMediaType(NULL); + setMediaType(nullptr); return S_OK; } @@ -235,7 +234,7 @@ HRESULT DirectShowPin::ConnectedTo(IPin **ppPin) QMutexLocker locker(&m_mutex); if (!m_peerPin) { - *ppPin = 0; + *ppPin = nullptr; return VFW_E_NOT_CONNECTED; } m_peerPin->AddRef(); @@ -380,8 +379,6 @@ HRESULT DirectShowPin::setActive(bool active) DirectShowOutputPin::DirectShowOutputPin(DirectShowBaseFilter *filter, const QString &name) : DirectShowPin(filter, name, PINDIR_OUTPUT) - , m_allocator(NULL) - , m_inputPin(NULL) { } @@ -393,8 +390,8 @@ HRESULT DirectShowOutputPin::completeConnection(IPin *pin) if (!pin) return E_POINTER; - Q_ASSERT(m_inputPin == NULL); - Q_ASSERT(m_allocator == NULL); + Q_ASSERT(m_inputPin == nullptr); + Q_ASSERT(m_allocator == nullptr); HRESULT hr = pin->QueryInterface(IID_PPV_ARGS(&m_inputPin)); if (FAILED(hr)) @@ -423,7 +420,7 @@ HRESULT DirectShowOutputPin::completeConnection(IPin *pin) } m_allocator->Release(); - m_allocator = NULL; + m_allocator = nullptr; } // Otherwise, allocate its own allocator @@ -441,7 +438,7 @@ HRESULT DirectShowOutputPin::completeConnection(IPin *pin) } m_allocator->Release(); - m_allocator = NULL; + m_allocator = nullptr; } return hr; @@ -455,12 +452,12 @@ HRESULT DirectShowOutputPin::connectionEnded() return hr; m_allocator->Release(); - m_allocator = NULL; + m_allocator = nullptr; } if (m_inputPin) { m_inputPin->Release(); - m_inputPin = NULL; + m_inputPin = nullptr; } return S_OK; @@ -485,9 +482,6 @@ HRESULT DirectShowOutputPin::EndOfStream() DirectShowInputPin::DirectShowInputPin(DirectShowBaseFilter *filter, const QString &name) : DirectShowPin(filter, name, PINDIR_INPUT) - , m_allocator(NULL) - , m_flushing(false) - , m_inErrorState(false) { ZeroMemory(&m_sampleProperties, sizeof(m_sampleProperties)); } @@ -502,7 +496,7 @@ HRESULT DirectShowInputPin::connectionEnded() return hr; m_allocator->Release(); - m_allocator = NULL; + m_allocator = nullptr; } return S_OK; diff --git a/src/plugins/directshow/common/directshowpin.h b/src/plugins/directshow/common/directshowpin.h index 5e513d002..bb5a07ad7 100644 --- a/src/plugins/directshow/common/directshowpin.h +++ b/src/plugins/directshow/common/directshowpin.h @@ -56,7 +56,7 @@ public: virtual ~DirectShowPin(); QString name() const { return m_name; } - bool isConnected() const { return m_peerPin != NULL; } + bool isConnected() const { return m_peerPin != nullptr; } virtual bool isMediaTypeSupported(const AM_MEDIA_TYPE *type) = 0; virtual QList<DirectShowMediaType> supportedMediaTypes(); @@ -102,7 +102,7 @@ protected: QString m_name; PIN_DIRECTION m_direction; - IPin *m_peerPin; + IPin *m_peerPin = nullptr; DirectShowMediaType m_mediaType; private: @@ -128,8 +128,8 @@ public: protected: DirectShowOutputPin(DirectShowBaseFilter *filter, const QString &name); - IMemAllocator *m_allocator; - IMemInputPin *m_inputPin; + IMemAllocator *m_allocator = nullptr; + IMemInputPin *m_inputPin = nullptr; private: Q_DISABLE_COPY(DirectShowOutputPin) @@ -166,9 +166,9 @@ public: protected: DirectShowInputPin(DirectShowBaseFilter *filter, const QString &name); - IMemAllocator *m_allocator; - bool m_flushing; - bool m_inErrorState; + IMemAllocator *m_allocator = nullptr; + bool m_flushing = false; + bool m_inErrorState = false; AM_SAMPLE2_PROPERTIES m_sampleProperties; private: diff --git a/src/plugins/directshow/common/directshowpinenum.cpp b/src/plugins/directshow/common/directshowpinenum.cpp index 20fa93d6e..7ba1bb6e9 100644 --- a/src/plugins/directshow/common/directshowpinenum.cpp +++ b/src/plugins/directshow/common/directshowpinenum.cpp @@ -44,7 +44,6 @@ QT_BEGIN_NAMESPACE DirectShowPinEnum::DirectShowPinEnum(DirectShowBaseFilter *filter) : m_filter(filter) - , m_index(0) { m_filter->AddRef(); const QList<DirectShowPin *> pinList = filter->pins(); @@ -55,9 +54,7 @@ DirectShowPinEnum::DirectShowPinEnum(DirectShowBaseFilter *filter) } DirectShowPinEnum::DirectShowPinEnum(const QList<IPin *> &pins) - : m_filter(NULL) - , m_pins(pins) - , m_index(0) + : m_pins(pins) { for (IPin *pin : qAsConst(m_pins)) pin->AddRef(); diff --git a/src/plugins/directshow/common/directshowpinenum.h b/src/plugins/directshow/common/directshowpinenum.h index d89f140b1..aada1a71e 100644 --- a/src/plugins/directshow/common/directshowpinenum.h +++ b/src/plugins/directshow/common/directshowpinenum.h @@ -68,9 +68,9 @@ public: private: Q_DISABLE_COPY(DirectShowPinEnum) - DirectShowBaseFilter *m_filter; + DirectShowBaseFilter *m_filter = nullptr; QList<IPin *> m_pins; - int m_index; + int m_index = 0; }; QT_END_NAMESPACE diff --git a/src/plugins/directshow/common/directshowsamplegrabber.cpp b/src/plugins/directshow/common/directshowsamplegrabber.cpp index fec59b538..a9e74f9db 100644 --- a/src/plugins/directshow/common/directshowsamplegrabber.cpp +++ b/src/plugins/directshow/common/directshowsamplegrabber.cpp @@ -75,14 +75,15 @@ public: STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject) override { - if (NULL == ppvObject) + if (nullptr == ppvObject) return E_POINTER; if (riid == IID_IUnknown /*__uuidof(IUnknown) */ ) { AddRef(); *ppvObject = static_cast<IUnknown *>(this); return S_OK; - } else if (riid == IID_ISampleGrabberCB /*__uuidof(ISampleGrabberCB)*/ ) { + } + if (riid == IID_ISampleGrabberCB /*__uuidof(ISampleGrabberCB)*/ ) { AddRef(); *ppvObject = static_cast<ISampleGrabberCB *>(this); return S_OK; @@ -115,12 +116,9 @@ private: DirectShowSampleGrabber::DirectShowSampleGrabber(QObject *p) : QObject(p) - , m_sampleGrabber(nullptr) - , m_sampleGabberCb(nullptr) - , m_callbackType(CallbackMethod::BufferCB) { // Create sample grabber filter - HRESULT hr = CoCreateInstance(cLSID_SampleGrabber, NULL, CLSCTX_INPROC, iID_ISampleGrabber, reinterpret_cast<void **>(&m_sampleGrabber)); + HRESULT hr = CoCreateInstance(cLSID_SampleGrabber, nullptr, CLSCTX_INPROC, iID_ISampleGrabber, reinterpret_cast<void **>(&m_sampleGrabber)); if (FAILED(hr)) { qCWarning(qtDirectShowPlugin, "Failed to create sample grabber"); diff --git a/src/plugins/directshow/common/directshowsamplegrabber.h b/src/plugins/directshow/common/directshowsamplegrabber.h index a9b72fcd1..5fc61de14 100644 --- a/src/plugins/directshow/common/directshowsamplegrabber.h +++ b/src/plugins/directshow/common/directshowsamplegrabber.h @@ -78,10 +78,10 @@ Q_SIGNALS: void bufferAvailable(double time, const QByteArray &data); private: - IBaseFilter *m_filter; - ISampleGrabber *m_sampleGrabber; - SampleGrabberCallbackPrivate *m_sampleGabberCb; - CallbackMethod m_callbackType; + IBaseFilter *m_filter = nullptr; + ISampleGrabber *m_sampleGrabber = nullptr; + SampleGrabberCallbackPrivate *m_sampleGabberCb = nullptr; + CallbackMethod m_callbackType= CallbackMethod::BufferCB; }; QT_END_NAMESPACE diff --git a/src/plugins/directshow/common/directshowutils.cpp b/src/plugins/directshow/common/directshowutils.cpp index d1c1d42ab..21b86926f 100644 --- a/src/plugins/directshow/common/directshowutils.cpp +++ b/src/plugins/directshow/common/directshowutils.cpp @@ -117,7 +117,7 @@ bool DirectShowUtils::getPin(IBaseFilter *filter, PIN_DIRECTION pinDirection, IP enumPins->Reset(); IPin *nextPin = nullptr; - while (enumPins->Next(1, &nextPin, NULL) == S_OK) { + while (enumPins->Next(1, &nextPin, nullptr) == S_OK) { const ScopedSafeRelease<IPin> releasePin { &nextPin }; PIN_DIRECTION currentPinDir; *hrOut = nextPin->QueryDirection(¤tPinDir); @@ -300,7 +300,7 @@ bool DirectShowUtils::connectFilters(IGraphBuilder *graph, } IBaseFilter *nextFilter = nullptr; - while (S_OK == filters->Next(1, &nextFilter, 0)) { + while (S_OK == filters->Next(1, &nextFilter, nullptr)) { const ScopedSafeRelease<IBaseFilter> releaseNextFilter { &nextFilter }; if (nextFilter && findAndConnect(nextFilter)) return true; diff --git a/src/plugins/directshow/common/directshowvideobuffer.cpp b/src/plugins/directshow/common/directshowvideobuffer.cpp index 7f94da97e..fc329f58a 100644 --- a/src/plugins/directshow/common/directshowvideobuffer.cpp +++ b/src/plugins/directshow/common/directshowvideobuffer.cpp @@ -64,7 +64,7 @@ uchar *DirectShowVideoBuffer::map(MapMode mode, int *numBytes, int *bytesPerLine if (bytesPerLine) *bytesPerLine = m_bytesPerLine; - BYTE *bytes = 0; + BYTE *bytes = nullptr; if (m_sample->GetPointer(&bytes) == S_OK) { m_mapMode = mode; @@ -72,7 +72,7 @@ uchar *DirectShowVideoBuffer::map(MapMode mode, int *numBytes, int *bytesPerLine return reinterpret_cast<uchar *>(bytes); } } - return 0; + return nullptr; } void DirectShowVideoBuffer::unmap() |