summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/player
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/player
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/player')
-rw-r--r--src/plugins/directshow/player/directshowplayerservice.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp
index 42105c471..3cc42dc21 100644
--- a/src/plugins/directshow/player/directshowplayerservice.cpp
+++ b/src/plugins/directshow/player/directshowplayerservice.cpp
@@ -622,6 +622,9 @@ void DirectShowPlayerService::doFinalizeLoad(QMutexLocker *locker)
void DirectShowPlayerService::releaseGraph()
{
+ if (m_videoProbeControl)
+ m_videoProbeControl->flushVideoFrame();
+
if (m_graph) {
if (m_executingTask != 0) {
// {8E1C39A1-DE53-11cf-AA63-0080C744528D}
@@ -999,6 +1002,8 @@ void DirectShowPlayerService::stop()
if ((m_executingTask | m_executedTasks) & (Play | Pause | Seek)) {
m_pendingTasks |= Stop;
+ if (m_videoProbeControl)
+ m_videoProbeControl->flushVideoFrame();
::SetEvent(m_taskHandle);
@@ -1431,6 +1436,8 @@ void DirectShowPlayerService::customEvent(QEvent *event)
m_playerControl->updateState(QMediaPlayer::StoppedState);
m_playerControl->updateStatus(QMediaPlayer::EndOfMedia);
m_playerControl->updatePosition(m_position);
+ if (m_videoProbeControl)
+ m_videoProbeControl->flushVideoFrame();
}
} else if (event->type() == QEvent::Type(PositionChange)) {
QMutexLocker locker(&m_mutex);
@@ -1539,7 +1546,7 @@ void DirectShowPlayerService::onVideoBufferAvailable(double time, const QByteArr
size,
format);
- Q_EMIT m_videoProbeControl->videoFrameProbed(frame);
+ m_videoProbeControl->probeVideoFrame(frame);
}
QT_WARNING_POP