diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2014-05-14 18:45:37 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-05-15 15:12:18 +0200 |
commit | e9e10b2b1f025c3aa53a8904ec0a65e88fcb2887 (patch) | |
tree | be903d6dfabb240f5b44f9ac60fe9c936d1ce9e0 /src | |
parent | 235c863db9c495e820fe7ac53918e74f342b71e6 (diff) | |
download | qtmultimedia-e9e10b2b1f025c3aa53a8904ec0a65e88fcb2887.tar.gz |
WMF: fix video frames' viewport.
It was not taken into account at all.
Change-Id: I4ce85aba214cb4d89dcd018b1616a2a38094b5a6
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/wmf/player/mfvideorenderercontrol.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/wmf/player/mfvideorenderercontrol.cpp b/src/plugins/wmf/player/mfvideorenderercontrol.cpp index 040682965..420473666 100644 --- a/src/plugins/wmf/player/mfvideorenderercontrol.cpp +++ b/src/plugins/wmf/player/mfvideorenderercontrol.cpp @@ -572,6 +572,18 @@ namespace QVideoSurfaceFormat format(QSize(width, height), m_pixelFormats[index]); m_surfaceFormat = format; + MFVideoArea viewport; + if (SUCCEEDED(pMediaType->GetBlob(MF_MT_GEOMETRIC_APERTURE, + reinterpret_cast<UINT8*>(&viewport), + sizeof(MFVideoArea), + NULL))) { + + m_surfaceFormat.setViewport(QRect(viewport.OffsetX.value, + viewport.OffsetY.value, + viewport.Area.cx, + viewport.Area.cy)); + } + if (FAILED(pMediaType->GetUINT32(MF_MT_DEFAULT_STRIDE, (UINT32*)&m_bytesPerLine))) { m_bytesPerLine = getBytesPerLine(format); } |