diff options
Diffstat (limited to 'src/plugins/directshow')
-rw-r--r-- | src/plugins/directshow/player/directshowplayerservice.cpp | 12 | ||||
-rw-r--r-- | src/plugins/directshow/player/directshowvideorenderercontrol.cpp | 16 |
2 files changed, 16 insertions, 12 deletions
diff --git a/src/plugins/directshow/player/directshowplayerservice.cpp b/src/plugins/directshow/player/directshowplayerservice.cpp index 0cad3cc2e..63635b059 100644 --- a/src/plugins/directshow/player/directshowplayerservice.cpp +++ b/src/plugins/directshow/player/directshowplayerservice.cpp @@ -219,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) { diff --git a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp index ee7f5ec9e..88b5a51eb 100644 --- a/src/plugins/directshow/player/directshowvideorenderercontrol.cpp +++ b/src/plugins/directshow/player/directshowvideorenderercontrol.cpp @@ -98,13 +98,15 @@ void DirectShowVideoRendererControl::setSurface(QAbstractVideoSurface *surface) if (m_surface) { #if QT_CONFIG(evr) - m_filter = com_new<IBaseFilter>(clsid_EnhancedVideoRenderer); - m_evrPresenter = new EVRCustomPresenter(m_surface); - if (!m_evrPresenter->isValid() || !qt_evr_setCustomPresenter(m_filter, m_evrPresenter)) { - m_filter->Release(); - m_filter = 0; - m_evrPresenter->Release(); - m_evrPresenter = 0; + if (!qgetenv("QT_DIRECTSHOW_NO_EVR").toInt()) { + m_filter = com_new<IBaseFilter>(clsid_EnhancedVideoRenderer); + m_evrPresenter = new EVRCustomPresenter(m_surface); + if (!m_evrPresenter->isValid() || !qt_evr_setCustomPresenter(m_filter, m_evrPresenter)) { + m_filter->Release(); + m_filter = 0; + m_evrPresenter->Release(); + m_evrPresenter = 0; + } } if (!m_filter) |