diff options
Diffstat (limited to 'src/multimedia/platform/windows/player/mfvideorenderercontrol.cpp')
-rw-r--r-- | src/multimedia/platform/windows/player/mfvideorenderercontrol.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/multimedia/platform/windows/player/mfvideorenderercontrol.cpp b/src/multimedia/platform/windows/player/mfvideorenderercontrol.cpp index a0f3e393b..5dae44c28 100644 --- a/src/multimedia/platform/windows/player/mfvideorenderercontrol.cpp +++ b/src/multimedia/platform/windows/player/mfvideorenderercontrol.cpp @@ -2244,16 +2244,16 @@ void MFVideoRendererControl::present() IMFActivate* MFVideoRendererControl::createActivate() { - Q_ASSERT(m_sink); - clear(); - // Create the EVR media sink, but replace the presenter with our own - if (SUCCEEDED(MFCreateVideoRendererActivate(::GetShellWindow(), &m_currentActivate))) { - m_presenterActivate = new EVRCustomPresenterActivate; - m_currentActivate->SetUnknown(MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_ACTIVATE, m_presenterActivate); - } else { - m_currentActivate = new VideoRendererActivate(this); + if (m_sink) { + // Create the EVR media sink, but replace the presenter with our own + if (SUCCEEDED(MFCreateVideoRendererActivate(::GetShellWindow(), &m_currentActivate))) { + m_presenterActivate = new EVRCustomPresenterActivate; + m_currentActivate->SetUnknown(MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_ACTIVATE, m_presenterActivate); + } else { + m_currentActivate = new VideoRendererActivate(this); + } } setSink(m_sink); |