From 7fb7f278fff2c407f8c0fe8165c60a934f95cd91 Mon Sep 17 00:00:00 2001 From: Yoann Lopes Date: Tue, 5 Jul 2016 14:07:28 +0200 Subject: DirectShow: fix deadlock in VideoSurfaceFilter When the DirectShow graph is done being built, there's no need to wake up any blocking calls on the main thread since setting a source is done asynchronously anyway. This could cause synchronous operations (like stopping or changing the video output) to end prematurely if called while a source was still being loaded, in turn causing the deadlock. Task-number: QTBUG-54504 Change-Id: I4f534e637bfca6d3020a3bc28725c8c7042941d5 Reviewed-by: Andreas Holzammer --- src/plugins/directshow/player/directshowplayerservice.cpp | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/plugins/directshow/player/directshowplayerservice.cpp') diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp index 57f100b9c..f7510316a 100644 --- a/src/plugins/directshow/player/directshowplayerservice.cpp +++ b/src/plugins/directshow/player/directshowplayerservice.cpp @@ -535,8 +535,6 @@ void DirectShowPlayerService::doRender(QMutexLocker *locker) m_executedTasks |= Render; } - - m_loop->wake(); } void DirectShowPlayerService::doFinalizeLoad(QMutexLocker *locker) -- cgit v1.2.3