From 48c945bac3030c1c26dd9da9bea6e0deea7e5714 Mon Sep 17 00:00:00 2001 From: Ling Hu Date: Thu, 5 Jul 2012 14:47:42 +1000 Subject: Added wmf implementation for QAudioDecoderControl Change-Id: Ib6d5c93577bd55995a9ae51e757156149890f15d Reviewed-by: Jun Zhu Reviewed-by: Michael Goddard --- src/plugins/wmf/player/mfplayersession.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/plugins/wmf/player/mfplayersession.cpp') diff --git a/src/plugins/wmf/player/mfplayersession.cpp b/src/plugins/wmf/player/mfplayersession.cpp index ef359b5e5..2d56aff3d 100644 --- a/src/plugins/wmf/player/mfplayersession.cpp +++ b/src/plugins/wmf/player/mfplayersession.cpp @@ -418,7 +418,7 @@ MFPlayerSession::MFPlayerSession(MFPlayerService *playerService) , m_mediaTypes(0) { m_hCloseEvent = CreateEvent(NULL, FALSE, FALSE, NULL); - m_sourceResolver = new SourceResolver(this); + m_sourceResolver = new SourceResolver(); QObject::connect(m_sourceResolver, SIGNAL(mediaSourceReady()), this, SLOT(handleMediaSourceReady())); QObject::connect(m_sourceResolver, SIGNAL(error(long)), this, SLOT(handleSourceError(long))); QObject::connect(this, SIGNAL(sessionEvent(IMFMediaEvent *)), this, SLOT(handleSessionEvent(IMFMediaEvent *))); @@ -456,9 +456,13 @@ void MFPlayerSession::close() if (SUCCEEDED(hr)) { if (m_session) m_session->Shutdown(); - m_sourceResolver->shutdown(); + if (m_sourceResolver) + m_sourceResolver->shutdown(); + } + if (m_sourceResolver) { + m_sourceResolver->Release(); + m_sourceResolver = 0; } - m_sourceResolver->Release(); if (m_session) m_session->Release(); -- cgit v1.2.3