diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2013-01-23 14:27:40 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-23 18:31:54 +0100 |
commit | 02add40392f1f708a1875f7088a853aa12ffca62 (patch) | |
tree | b5e1b45f7eb975ee9511903b4dfa58f809962663 /src/plugins/wmf/player/mfplayersession.h | |
parent | 381bfe879c2a324531a63e4cc71590bc7fb647db (diff) |
WMF: fixed unresolved topologies when using the custom MediaSink.
When using our custom MediaSink with RGB formats, Media Foundation fails
sometimes to resolve the topology. Inserting ourselves a ColorConverter
transform in the topology resolves the problem.
The ColorConverter transform cannot handle dynamic frame size changes
(this can happen with H264 videos for example) so we also need to insert a
Resizer transform to handle transparently frame size changes.
Change-Id: Id7f37a0af65f142fbe6d420ad7b2c1ac2156c21b
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Diffstat (limited to 'src/plugins/wmf/player/mfplayersession.h')
-rw-r--r-- | src/plugins/wmf/player/mfplayersession.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/wmf/player/mfplayersession.h b/src/plugins/wmf/player/mfplayersession.h index 6b2f81ea2..e7f8dcffa 100644 --- a/src/plugins/wmf/player/mfplayersession.h +++ b/src/plugins/wmf/player/mfplayersession.h @@ -231,6 +231,8 @@ private: IMFTopologyNode *m_audioSampleGrabberNode; IMFTopology *insertMFT(IMFTopology *topology, TOPOID outputNodeId); + bool insertResizer(IMFTopology *topology); + void insertColorConverter(IMFTopology *topology, TOPOID outputNodeId); MFTransform *m_videoProbeMFT; QList<MFVideoProbeControl*> m_videoProbes; }; |