summaryrefslogtreecommitdiff
path: root/src/plugins/wmf/mftvideo.h
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2012-12-18 21:40:55 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-01-07 04:57:20 +0100
commit73200f5464b4032fa25eedb5b594f17e48f5e7eb (patch)
tree7d89b21e1c944f14dac92393dade234d95323a38 /src/plugins/wmf/mftvideo.h
parentb64ca061fde2987e138cc93903b2917b6c341f8c (diff)
downloadqtmultimedia-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.h5
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;