diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2012-12-18 21:40:55 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-01-07 04:57:20 +0100 |
commit | 73200f5464b4032fa25eedb5b594f17e48f5e7eb (patch) | |
tree | 7d89b21e1c944f14dac92393dade234d95323a38 /src/plugins/wmf/mftvideo.h | |
parent | b64ca061fde2987e138cc93903b2917b6c341f8c (diff) | |
download | qtmultimedia-73200f5464b4032fa25eedb5b594f17e48f5e7eb.tar.gz |
WMF: re-enabled video probes and made it more robust.
Fixed the way the custom MF Transform (getting the frames) works:
- Recreate it whenever we load a new media
- During media type negotiation between nodes, the MFT should support
the same types as the video sink supports
- Allow input and output types to be changed as many times as needed,
otherwise the topology cannot be resolved in some cases
Change-Id: I7ca77e1a3dee83643f1a97f2e6ada9c5c0e88309
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/plugins/wmf/mftvideo.h')
-rw-r--r-- | src/plugins/wmf/mftvideo.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/wmf/mftvideo.h b/src/plugins/wmf/mftvideo.h index 45520c819..3a3823c92 100644 --- a/src/plugins/wmf/mftvideo.h +++ b/src/plugins/wmf/mftvideo.h @@ -61,6 +61,8 @@ public: void addProbe(MFVideoProbeControl* probe); void removeProbe(MFVideoProbeControl* probe); + void addSupportedMediaType(IMFMediaType *type); + // IUnknown methods STDMETHODIMP QueryInterface(REFIID iid, void** ppv); STDMETHODIMP_(ULONG) AddRef(); @@ -97,6 +99,7 @@ private: static QVideoSurfaceFormat videoFormatForMFMediaType(IMFMediaType *mediaType, int *bytesPerLine); QVideoFrame makeVideoFrame(); QByteArray dataFromBuffer(IMFMediaBuffer *buffer, int height, int *bytesPerLine); + bool isMediaTypeSupported(IMFMediaType *type); long m_cRef; IMFMediaType *m_inputType; @@ -104,6 +107,8 @@ private: IMFSample *m_sample; QMutex m_mutex; + QList<IMFMediaType*> m_mediaTypes; + QList<MFVideoProbeControl*> m_videoProbes; QMutex m_videoProbeMutex; |