summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/directshow')
-rw-r--r--src/plugins/directshow/directshow.pro8
-rw-r--r--src/plugins/directshow/player/directshowplayerservice.cpp3
2 files changed, 7 insertions, 4 deletions
diff --git a/src/plugins/directshow/directshow.pro b/src/plugins/directshow/directshow.pro
index 2857f87d9..54d617166 100644
--- a/src/plugins/directshow/directshow.pro
+++ b/src/plugins/directshow/directshow.pro
@@ -8,7 +8,13 @@ win32:!qtHaveModule(opengl)|qtConfig(dynamicgl) {
HEADERS += dsserviceplugin.h
SOURCES += dsserviceplugin.cpp
-mingw: DEFINES += NO_DSHOW_STRSAFE
+# Remove WINVER/_WIN32_WINNT definitions added to qt_build_config.prf
+# by qtbase/d57a7c41712f8627a462d893329dc3f0dbb52d32 since the multimedia
+# headers of MinGW 5.3/7.1 are too broken to compile with 0x0601.
+mingw {
+ DEFINES -= WINVER=0x0601 _WIN32_WINNT=0x0601
+ DEFINES += NO_DSHOW_STRSAFE
+}
include(common/common.pri)
qtConfig(directshow-player): include(player/player.pri)
diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp
index 9cbb62969..8ee5d67a1 100644
--- a/src/plugins/directshow/player/directshowplayerservice.cpp
+++ b/src/plugins/directshow/player/directshowplayerservice.cpp
@@ -402,7 +402,6 @@ void DirectShowPlayerService::doSetUrlSource(QMutexLocker *locker)
} else if (!m_resources.isEmpty()) {
m_pendingTasks |= SetUrlSource;
} else {
- m_pendingTasks = 0;
m_graphStatus = InvalidMedia;
switch (hr) {
@@ -1688,8 +1687,6 @@ void DirectShowPlayerService::run()
QMutexLocker locker(&m_mutex);
for (;;) {
- ::ResetEvent(m_taskHandle);
-
while (m_pendingTasks == 0) {
DWORD result = 0;