m_videoProbeMFT = 0;
}
+ if (m_playerService->videoRendererControl()) {
+ m_playerService->videoRendererControl()->releaseActivate();
+#ifndef Q_WS_SIMULATOR
+ } else if (m_playerService->videoWindowControl()) {
+ m_playerService->videoWindowControl()->releaseActivate();
+#endif
+ }
if (m_session)
m_session->Release();
, m_sink(0)
, m_rendererControl(rendererControl)
, m_attributes(0)
+ , m_surface(0)
{
MFCreateAttributes(&m_attributes, 0);
m_sink = new MediaSink(rendererControl);
void MFVideoRendererControl::clear()
{
+ if (m_surface)
+ m_surface->stop();
+
if (m_currentActivate) {
m_currentActivate->ShutdownObject();
m_currentActivate->Release();
m_currentActivate = NULL;
}
+void MFVideoRendererControl::releaseActivate()
+{
+ clear();
+}
+
QAbstractVideoSurface *MFVideoRendererControl::surface() const
{
return m_surface;
clear();
m_currentActivate = new VideoRendererActivate(this);
- if (m_surface) {
+ if (m_surface)
setSurface(m_surface);
- supportedFormatsChanged();
- }
return m_currentActivate;
}