summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Srebrny <piotr.srebrny@qt.io>2022-09-22 17:12:43 +0200
committerPiotr Srebrny <piotr.srebrny@qt.io>2022-09-28 15:07:24 +0200
commitc75e74235eed6312a8b42cba4937e77d9148f1cb (patch)
treec7b3ca292fa3189d464fe17219fc00599e6a538d
parentba58c54180fe8dc9932c569c7caf4c3843dbade8 (diff)
Ensure positive stride value
MFGetStrideForBitmapInfoHeader returns in some cases negative stride. For example, the Y8 format gave the negative stride. This causes crash as other parts of the rendering system cast it to unsigned value. Change-Id: Idc6e8d1dd991a005acb0dbe2c3567c68ec5c7433 Reviewed-by: André de la Rocha <andre.rocha@qt.io> (cherry picked from commit af7c239a9d4facd8984d2f7c36df9f0948c47055)
-rw-r--r--src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp b/src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp
index 16414cca5..6f11f6a54 100644
--- a/src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp
+++ b/src/multimedia/platform/windows/mediacapture/qwindowsmediadevicereader.cpp
@@ -246,7 +246,7 @@ HRESULT QWindowsMediaDeviceReader::prepareVideoStream(DWORD mediaTypeIndex)
// and the stride, which we need to convert the frame later
hr = MFGetStrideForBitmapInfoHeader(subtype.Data1, m_frameWidth, &m_stride);
if (SUCCEEDED(hr)) {
-
+ m_stride = qAbs(m_stride);
UINT32 frameRateNum, frameRateDen;
hr = MFGetAttributeRatio(m_videoMediaType, MF_MT_FRAME_RATE, &frameRateNum, &frameRateDen);
if (SUCCEEDED(hr)) {