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 <andreas.holzammer@kdab.com>
This commit is contained in:
@@ -535,8 +535,6 @@ void DirectShowPlayerService::doRender(QMutexLocker *locker)
|
||||
|
||||
m_executedTasks |= Render;
|
||||
}
|
||||
|
||||
m_loop->wake();
|
||||
}
|
||||
|
||||
void DirectShowPlayerService::doFinalizeLoad(QMutexLocker *locker)
|
||||
|
||||
Reference in New Issue
Block a user