summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/common
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2019-06-28 16:23:49 +0200
committerMarc Mutz <marc.mutz@kdab.com>2019-08-01 13:15:39 +0300
commitd89a4269ce1d9729842a508d97e1f1aeaf7305ee (patch)
tree0f13df650acb187ca8b1cc05c17b9577cb3e4cab /src/plugins/directshow/common
parent435557691c3c28e9c63aa4bb5f4b9ec8fe3f8923 (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')
-rw-r--r--src/plugins/directshow/common/directshowbasefilter.cpp21
-rw-r--r--src/plugins/directshow/common/directshowbasefilter.h2
-rw-r--r--src/plugins/directshow/common/directshowpin.cpp23
-rw-r--r--src/plugins/directshow/common/directshowpin.h2
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;