diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2019-06-28 16:23:49 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2019-08-01 13:15:39 +0300 |
commit | d89a4269ce1d9729842a508d97e1f1aeaf7305ee (patch) | |
tree | 0f13df650acb187ca8b1cc05c17b9577cb3e4cab /src/plugins/directshow/common | |
parent | 435557691c3c28e9c63aa4bb5f4b9ec8fe3f8923 (diff) |
Port from QMutex::Recursive to QRecursiveMutex
Also port from QMutexLocker to std::lock_guard or std::unique_lock, as
the former will not support QRecursiveMutex going forward.
Change-Id: I1ed1a129e2b9b77aa0a729e8cab03c673566a345
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Diffstat (limited to 'src/plugins/directshow/common')
4 files changed, 24 insertions, 24 deletions
diff --git a/src/plugins/directshow/common/directshowbasefilter.cpp b/src/plugins/directshow/common/directshowbasefilter.cpp index dfea2460f..3a13dce0e 100644 --- a/src/plugins/directshow/common/directshowbasefilter.cpp +++ b/src/plugins/directshow/common/directshowbasefilter.cpp @@ -41,13 +41,12 @@ #include "directshowpinenum.h" +#include <mutex> + QT_BEGIN_NAMESPACE DirectShowBaseFilter::DirectShowBaseFilter() - : m_mutex(QMutex::Recursive) -{ - -} + = default; DirectShowBaseFilter::~DirectShowBaseFilter() { @@ -78,7 +77,7 @@ HRESULT DirectShowBaseFilter::NotifyEvent(long eventCode, LONG_PTR eventParam1, HRESULT DirectShowBaseFilter::Run(REFERENCE_TIME tStart) { Q_UNUSED(tStart) - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); m_startTime = tStart; @@ -95,7 +94,7 @@ HRESULT DirectShowBaseFilter::Run(REFERENCE_TIME tStart) HRESULT DirectShowBaseFilter::Pause() { - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); if (m_state == State_Stopped) { const QList<DirectShowPin *> pinList = pins(); @@ -115,7 +114,7 @@ HRESULT DirectShowBaseFilter::Pause() HRESULT DirectShowBaseFilter::Stop() { - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); HRESULT hr = S_OK; @@ -142,7 +141,7 @@ HRESULT DirectShowBaseFilter::GetState(DWORD dwMilliSecsTimeout, FILTER_STATE *p if (!pState) { return E_POINTER; } else { - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); *pState = m_state; @@ -152,7 +151,7 @@ HRESULT DirectShowBaseFilter::GetState(DWORD dwMilliSecsTimeout, FILTER_STATE *p HRESULT DirectShowBaseFilter::SetSyncSource(IReferenceClock *pClock) { - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); if (m_clock) m_clock->Release(); @@ -192,7 +191,7 @@ HRESULT DirectShowBaseFilter::FindPin(LPCWSTR Id, IPin **ppPin) if (!ppPin || !Id) return E_POINTER; - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); const QList<DirectShowPin *> pinList = pins(); for (DirectShowPin *pin : pinList) { if (pin->name() == QStringView(Id)) { @@ -208,7 +207,7 @@ HRESULT DirectShowBaseFilter::FindPin(LPCWSTR Id, IPin **ppPin) HRESULT DirectShowBaseFilter::JoinFilterGraph(IFilterGraph *pGraph, LPCWSTR pName) { - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); m_filterName = QString::fromWCharArray(pName); m_graph = pGraph; diff --git a/src/plugins/directshow/common/directshowbasefilter.h b/src/plugins/directshow/common/directshowbasefilter.h index ea5b8fafe..ce30891d7 100644 --- a/src/plugins/directshow/common/directshowbasefilter.h +++ b/src/plugins/directshow/common/directshowbasefilter.h @@ -78,7 +78,7 @@ public: STDMETHODIMP QueryVendorInfo(LPWSTR *pVendorInfo) override; protected: - QMutex m_mutex; + QRecursiveMutex m_mutex; FILTER_STATE m_state = State_Stopped; IFilterGraph *m_graph = nullptr; IReferenceClock *m_clock = nullptr; diff --git a/src/plugins/directshow/common/directshowpin.cpp b/src/plugins/directshow/common/directshowpin.cpp index 390d410a4..d8129748c 100644 --- a/src/plugins/directshow/common/directshowpin.cpp +++ b/src/plugins/directshow/common/directshowpin.cpp @@ -45,11 +45,12 @@ #include <qdebug.h> +#include <mutex> + QT_BEGIN_NAMESPACE DirectShowPin::DirectShowPin(DirectShowBaseFilter *filter, const QString &name, PIN_DIRECTION direction) - : m_mutex(QMutex::Recursive) - , m_filter(filter) + : m_filter(filter) , m_name(name) , m_direction(direction) { @@ -63,7 +64,7 @@ HRESULT DirectShowPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt) return E_POINTER; HRESULT hr = E_FAIL; - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); if (m_peerPin) return VFW_E_ALREADY_CONNECTED; @@ -169,7 +170,7 @@ HRESULT DirectShowPin::ReceiveConnection(IPin *pConnector, const AM_MEDIA_TYPE * if (!pConnector || !pmt) return E_POINTER; - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); if (m_peerPin) return VFW_E_ALREADY_CONNECTED; @@ -206,7 +207,7 @@ HRESULT DirectShowPin::ReceiveConnection(IPin *pConnector, const AM_MEDIA_TYPE * HRESULT DirectShowPin::Disconnect() { - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); if (m_filter->state() != State_Stopped) return VFW_E_NOT_STOPPED; @@ -232,7 +233,7 @@ HRESULT DirectShowPin::ConnectedTo(IPin **ppPin) if (!ppPin) return E_POINTER; - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); if (!m_peerPin) { *ppPin = nullptr; return VFW_E_NOT_CONNECTED; @@ -247,7 +248,7 @@ HRESULT DirectShowPin::ConnectionMediaType(AM_MEDIA_TYPE *pmt) if (!pmt) return E_POINTER; - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); if (!m_peerPin) { DirectShowMediaType::init(pmt); return VFW_E_NOT_CONNECTED; @@ -531,14 +532,14 @@ HRESULT DirectShowInputPin::EndOfStream() HRESULT DirectShowInputPin::BeginFlush() { - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); m_flushing = true; return S_OK; } HRESULT DirectShowInputPin::EndFlush() { - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); m_flushing = false; m_inErrorState = false; return S_OK; @@ -549,7 +550,7 @@ HRESULT DirectShowInputPin::GetAllocator(IMemAllocator **ppAllocator) if (!ppAllocator) return E_POINTER; - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); if (!m_allocator) { m_allocator = com_new<IMemAllocator>(CLSID_MemoryAllocator);; @@ -570,7 +571,7 @@ HRESULT DirectShowInputPin::NotifyAllocator(IMemAllocator *pAllocator, BOOL bRea if (!pAllocator) return E_POINTER; - QMutexLocker locker(&m_mutex); + const std::lock_guard<QRecursiveMutex> locker(m_mutex); if (m_allocator) m_allocator->Release(); diff --git a/src/plugins/directshow/common/directshowpin.h b/src/plugins/directshow/common/directshowpin.h index bb5a07ad7..160191ef3 100644 --- a/src/plugins/directshow/common/directshowpin.h +++ b/src/plugins/directshow/common/directshowpin.h @@ -96,7 +96,7 @@ public: protected: DirectShowPin(DirectShowBaseFilter *filter, const QString &name, PIN_DIRECTION direction); - QMutex m_mutex; + QRecursiveMutex m_mutex; DirectShowBaseFilter *m_filter; QString m_name; |