summaryrefslogtreecommitdiffstats
path: root/src/plugins/wmf/player/mfplayersession.cpp
diff options
context:
space:
mode:
authorLing Hu <ling.hu@nokia.com>2012-07-05 14:47:42 +1000
committerQt by Nokia <qt-info@nokia.com>2012-07-11 06:56:18 +0200
commit48c945bac3030c1c26dd9da9bea6e0deea7e5714 (patch)
tree4f802540ee898c738ec1606fab2f7c3503bbfd59 /src/plugins/wmf/player/mfplayersession.cpp
parent51d7737c19dcffc3fc3039d3565cdea30daf0346 (diff)
Added wmf implementation for QAudioDecoderControl
Change-Id: Ib6d5c93577bd55995a9ae51e757156149890f15d Reviewed-by: Jun Zhu <jun.5.zhu@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src/plugins/wmf/player/mfplayersession.cpp')
-rw-r--r--src/plugins/wmf/player/mfplayersession.cpp10
1 files changed, 7 insertions, 3 deletions
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();