summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/common
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-10-01 03:03:28 +0200
committerVaL Doroshchuk <valentyn.doroshchuk@qt.io>2019-10-01 07:28:44 +0000
commita330616496cf14e53db344513889444c6d60e7de (patch)
tree8e2b88bfbadfacb3c684dc7dc2fd8b18321e81ba /src/plugins/directshow/common
parent48206ccc29154a2ebdbe14c549c84b2e590b6a06 (diff)
parent545959e45ec86c70617f4839d20d931297c30c20 (diff)
Merge remote-tracking branch 'origin/5.13' into 5.14
Conflicts: src/multimedia/video/qvideoframe.h Change-Id: I8458c4138be05f661d6528116cbc6b18298f0a91
Diffstat (limited to 'src/plugins/directshow/common')
-rw-r--r--src/plugins/directshow/common/directshowvideoprobecontrol.cpp12
-rw-r--r--src/plugins/directshow/common/directshowvideoprobecontrol.h3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/plugins/directshow/common/directshowvideoprobecontrol.cpp b/src/plugins/directshow/common/directshowvideoprobecontrol.cpp
index 5ec1ff064..0e2e68864 100644
--- a/src/plugins/directshow/common/directshowvideoprobecontrol.cpp
+++ b/src/plugins/directshow/common/directshowvideoprobecontrol.cpp
@@ -54,4 +54,16 @@ DirectShowVideoProbeControl::~DirectShowVideoProbeControl()
qCWarning(qtDirectShowPlugin, "QVideoProbe control destroyed while it's still being referenced!!!");
}
+void DirectShowVideoProbeControl::probeVideoFrame(const QVideoFrame &frame)
+{
+ emit videoFrameProbed(frame);
+ m_frameProbed = true;
+}
+
+void DirectShowVideoProbeControl::flushVideoFrame()
+{
+ if (m_frameProbed)
+ emit flush();
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/directshow/common/directshowvideoprobecontrol.h b/src/plugins/directshow/common/directshowvideoprobecontrol.h
index 458263234..57839f8d3 100644
--- a/src/plugins/directshow/common/directshowvideoprobecontrol.h
+++ b/src/plugins/directshow/common/directshowvideoprobecontrol.h
@@ -55,8 +55,11 @@ public:
bool ref() { return m_ref.ref(); }
bool deref() { return m_ref.deref(); }
+ void probeVideoFrame(const QVideoFrame &frame);
+ void flushVideoFrame();
private:
QAtomicInt m_ref;
+ bool m_frameProbed = false;
};
QT_END_NAMESPACE