From cda94f73a30cbdf3e6c32ec9a9f771d602ad1aa3 Mon Sep 17 00:00:00 2001
From: David Schulz <david.schulz@digia.com>
Date: Thu, 25 Sep 2014 07:18:13 +0200
Subject: [PATCH] WMF: Use media source only when it is initialized.

Change-Id: I0efcf6139d0b81194cf25383025f080f8656728c
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
---
 src/plugins/wmf/player/mfplayersession.cpp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/plugins/wmf/player/mfplayersession.cpp b/src/plugins/wmf/player/mfplayersession.cpp
index 2d4f46b1d..4ccf0ceb0 100644
--- a/src/plugins/wmf/player/mfplayersession.cpp
+++ b/src/plugins/wmf/player/mfplayersession.cpp
@@ -256,8 +256,13 @@ void MFPlayerSession::handleMediaSourceReady()
     qDebug() << "handleMediaSourceReady";
 #endif
     HRESULT hr = S_OK;
-    IMFPresentationDescriptor* sourcePD;
     IMFMediaSource* mediaSource = m_sourceResolver->mediaSource();
+
+    DWORD dwCharacteristics = 0;
+    mediaSource->GetCharacteristics(&dwCharacteristics);
+    emit seekableUpdate(MFMEDIASOURCE_CAN_SEEK & dwCharacteristics);
+
+    IMFPresentationDescriptor* sourcePD;
     hr = mediaSource->CreatePresentationDescriptor(&sourcePD);
     if (SUCCEEDED(hr)) {
         m_duration = 0;
@@ -1638,10 +1643,6 @@ void MFPlayerSession::handleSessionEvent(IMFMediaEvent *sessionEvent)
                 }
             }
 
-            DWORD dwCharacteristics = 0;
-            m_sourceResolver->mediaSource()->GetCharacteristics(&dwCharacteristics);
-            emit seekableUpdate(MFMEDIASOURCE_CAN_SEEK & dwCharacteristics);
-
             // Topology is resolved and successfuly set, this happens only after loading a new media.
             // Make sure we always start the media from the beginning
             m_varStart.vt = VT_I8;
-- 
GitLab