summaryrefslogtreecommitdiff
path: root/src/plugins/wmf/player
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2012-11-30 16:42:14 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-30 16:55:35 +0100
commit6a6c9ca37c0cf9ee8e1156860db7d32508a9dc5a (patch)
treefe5edc158ede365748c244b41b1af7ddfcfc9c86 /src/plugins/wmf/player
parent1315dcf09c9a4908b1b74d56a1a6b8de87b5d9bd (diff)
downloadqtmultimedia-6a6c9ca37c0cf9ee8e1156860db7d32508a9dc5a.tar.gz
WMF: Disabled the video probe control.
Using the video probe cause unstability in the video playback. Disabled for 5.0 release. Should be fixed and re-enabled in the next version. Change-Id: I274212a0943ac098194ad59d6e07bed7740bc8a3 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Diffstat (limited to 'src/plugins/wmf/player')
-rw-r--r--src/plugins/wmf/player/mfplayerservice.cpp11
-rw-r--r--src/plugins/wmf/player/mfplayersession.cpp98
2 files changed, 57 insertions, 52 deletions
diff --git a/src/plugins/wmf/player/mfplayerservice.cpp b/src/plugins/wmf/player/mfplayerservice.cpp
index 2e9823f49..2ca74ad3e 100644
--- a/src/plugins/wmf/player/mfplayerservice.cpp
+++ b/src/plugins/wmf/player/mfplayerservice.cpp
@@ -115,11 +115,12 @@ QMediaControl* MFPlayerService::requestControl(const char *name)
}
return 0;
} else if (qstrcmp(name,QMediaVideoProbeControl_iid) == 0) {
- if (m_session) {
- MFVideoProbeControl *probe = new MFVideoProbeControl(this);
- m_session->addProbe(probe);
- return probe;
- }
+ // FIXME!! Disabled in Qt 5.0 because it is unstable
+// if (m_session) {
+// MFVideoProbeControl *probe = new MFVideoProbeControl(this);
+// m_session->addProbe(probe);
+// return probe;
+// }
return 0;
}
diff --git a/src/plugins/wmf/player/mfplayersession.cpp b/src/plugins/wmf/player/mfplayersession.cpp
index e48f133b8..e9c40567c 100644
--- a/src/plugins/wmf/player/mfplayersession.cpp
+++ b/src/plugins/wmf/player/mfplayersession.cpp
@@ -979,69 +979,73 @@ IMFTopology *MFPlayerSession::insertMFT(IMFTopology *topology, TOPOID outputNode
if (FAILED(topoLoader->Load(topology, &resolvedTopology, NULL)))
break;
+// FIXME!! VideoProbe disabled in Qt 5.0 because it is unstable.
+// Commented out the following code to skip inserting the transform node
+// getting the video frames.
+
// Get all output nodes and search for video output node.
- if (FAILED(resolvedTopology->GetOutputNodeCollection(&outputNodes)))
- break;
+// if (FAILED(resolvedTopology->GetOutputNodeCollection(&outputNodes)))
+// break;
- DWORD elementCount = 0;
- if (FAILED(outputNodes->GetElementCount(&elementCount)))
- break;
+// DWORD elementCount = 0;
+// if (FAILED(outputNodes->GetElementCount(&elementCount)))
+// break;
- for (DWORD n = 0; n < elementCount; n++) {
- IUnknown *element = 0;
- IMFTopologyNode *node = 0;
- IMFTopologyNode *inputNode = 0;
- IMFTopologyNode *mftNode = 0;
+// for (DWORD n = 0; n < elementCount; n++) {
+// IUnknown *element = 0;
+// IMFTopologyNode *node = 0;
+// IMFTopologyNode *inputNode = 0;
+// IMFTopologyNode *mftNode = 0;
- do {
- if (FAILED(outputNodes->GetElement(n, &element)))
- break;
+// do {
+// if (FAILED(outputNodes->GetElement(n, &element)))
+// break;
- if (FAILED(element->QueryInterface(IID_IMFTopologyNode, (void**)&node)))
- break;
+// if (FAILED(element->QueryInterface(IID_IMFTopologyNode, (void**)&node)))
+// break;
- TOPOID id;
- if (FAILED(node->GetTopoNodeID(&id)))
- break;
+// TOPOID id;
+// if (FAILED(node->GetTopoNodeID(&id)))
+// break;
- if (id != outputNodeId)
- break;
+// if (id != outputNodeId)
+// break;
- // Insert MFT between the output node and the node connected to it.
- DWORD outputIndex = 0;
- if (FAILED(node->GetInput(0, &inputNode, &outputIndex)))
- break;
+// // Insert MFT between the output node and the node connected to it.
+// DWORD outputIndex = 0;
+// if (FAILED(node->GetInput(0, &inputNode, &outputIndex)))
+// break;
- if (FAILED(MFCreateTopologyNode(MF_TOPOLOGY_TRANSFORM_NODE, &mftNode)))
- break;
+// if (FAILED(MFCreateTopologyNode(MF_TOPOLOGY_TRANSFORM_NODE, &mftNode)))
+// break;
- if (FAILED(mftNode->SetObject(m_videoProbeMFT)))
- break;
+// if (FAILED(mftNode->SetObject(m_videoProbeMFT)))
+// break;
- if (FAILED(resolvedTopology->AddNode(mftNode)))
- break;
+// if (FAILED(resolvedTopology->AddNode(mftNode)))
+// break;
- if (FAILED(inputNode->ConnectOutput(0, mftNode, 0)))
- break;
+// if (FAILED(inputNode->ConnectOutput(0, mftNode, 0)))
+// break;
- if (FAILED(mftNode->ConnectOutput(0, node, 0)))
- break;
+// if (FAILED(mftNode->ConnectOutput(0, node, 0)))
+// break;
- isNewTopology = true;
- } while (false);
+// isNewTopology = true;
+// } while (false);
- if (mftNode)
- mftNode->Release();
- if (inputNode)
- inputNode->Release();
- if (node)
- node->Release();
- if (element)
- element->Release();
+// if (mftNode)
+// mftNode->Release();
+// if (inputNode)
+// inputNode->Release();
+// if (node)
+// node->Release();
+// if (element)
+// element->Release();
- if (isNewTopology)
- break;
- }
+// if (isNewTopology)
+// break;
+// }
} while (false);
if (outputNodes)