summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/player/directshowplayerservice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/directshow/player/directshowplayerservice.cpp')
-rw-r--r--src/plugins/directshow/player/directshowplayerservice.cpp27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp
index b975677a6..27108063d 100644
--- a/src/plugins/directshow/player/directshowplayerservice.cpp
+++ b/src/plugins/directshow/player/directshowplayerservice.cpp
@@ -61,6 +61,8 @@
#if QT_CONFIG(evr)
#include "directshowevrvideowindowcontrol.h"
+#else
+#include <mmreg.h>
#endif
#include "qmediacontent.h"
@@ -113,7 +115,7 @@ public:
}
protected:
- void run() { m_service->run(); }
+ void run() override { m_service->run(); }
private:
DirectShowPlayerService *m_service;
@@ -217,11 +219,13 @@ QMediaControl *DirectShowPlayerService::requestControl(const char *name)
IBaseFilter *filter;
#if QT_CONFIG(evr)
- DirectShowEvrVideoWindowControl *evrControl = new DirectShowEvrVideoWindowControl;
- if ((filter = evrControl->filter()))
- m_videoWindowControl = evrControl;
- else
- delete evrControl;
+ if (!qgetenv("QT_DIRECTSHOW_NO_EVR").toInt()) {
+ DirectShowEvrVideoWindowControl *evrControl = new DirectShowEvrVideoWindowControl;
+ if ((filter = evrControl->filter()))
+ m_videoWindowControl = evrControl;
+ else
+ delete evrControl;
+ }
#endif
// Fall back to the VMR9 if the EVR is not available
if (!m_videoWindowControl) {
@@ -1092,9 +1096,9 @@ qint64 DirectShowPlayerService::position() const
QMutexLocker locker(const_cast<QMutex *>(&m_mutex));
if (m_graphStatus == Loaded) {
- if (m_executingTask == Seek || m_executingTask == SetRate || (m_pendingTasks & Seek)) {
+ if (m_executingTask == Seek || m_executingTask == SetRate || (m_pendingTasks & Seek))
return m_position;
- } else if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
+ if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG position = 0;
seeking->GetCurrentPosition(&position);
@@ -1113,9 +1117,9 @@ QMediaTimeRange DirectShowPlayerService::availablePlaybackRanges() const
QMutexLocker locker(const_cast<QMutex *>(&m_mutex));
if (m_graphStatus == Loaded) {
- if (m_executingTask == Seek || m_executingTask == SetRate || (m_pendingTasks & Seek)) {
+ if (m_executingTask == Seek || m_executingTask == SetRate || (m_pendingTasks & Seek))
return m_playbackRange;
- } else if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
+ if (IMediaSeeking *seeking = com_cast<IMediaSeeking>(m_graph, IID_IMediaSeeking)) {
LONGLONG minimum = 0;
LONGLONG maximum = 0;
@@ -1196,9 +1200,8 @@ int DirectShowPlayerService::bufferStatus() const
reader->Release();
return percentage;
- } else {
- return 0;
}
+ return 0;
#else
return 0;
#endif