diff options
author | Val Doroshchuk <valentyn.doroshchuk@qt.io> | 2018-11-06 14:58:28 +0100 |
---|---|---|
committer | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2018-11-22 14:49:58 +0000 |
commit | 3fa7144030267d787ecb739c0d6bc81bfe94cc8a (patch) | |
tree | 72b3eb098429a21adf2cfd5ff55627ba3f036c7b | |
parent | 4bb439c8af69448a7453f9409a7ff15b1e69b72d (diff) |
DirectShow: Stop surface on EndOfStream
Surface should be stopped to flush video frame.
Task-number: QTBUG-71610
Change-Id: I1d7b4e0c1c04ebfbf764ffc8621a7028dd88f22d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
-rw-r--r-- | src/plugins/common/evr/evrcustompresenter.cpp | 2 | ||||
-rw-r--r-- | src/plugins/directshow/player/videosurfacefilter.cpp | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/common/evr/evrcustompresenter.cpp b/src/plugins/common/evr/evrcustompresenter.cpp index 5ebde2dda..dd03791ea 100644 --- a/src/plugins/common/evr/evrcustompresenter.cpp +++ b/src/plugins/common/evr/evrcustompresenter.cpp @@ -1208,6 +1208,8 @@ HRESULT EVRCustomPresenter::checkEndOfStream() // Everything is complete. Now we can tell the EVR that we are done. notifyEvent(EC_COMPLETE, (LONG_PTR)S_OK, 0); m_endStreaming = false; + + stopSurface(); return S_OK; } diff --git a/src/plugins/directshow/player/videosurfacefilter.cpp b/src/plugins/directshow/player/videosurfacefilter.cpp index 826d26bdb..74d59231c 100644 --- a/src/plugins/directshow/player/videosurfacefilter.cpp +++ b/src/plugins/directshow/player/videosurfacefilter.cpp @@ -462,6 +462,7 @@ HRESULT VideoSurfaceFilter::EndOfStream() if (!m_pendingSample && m_running) checkEOS(); + stopSurface(); return S_OK; } |