summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/camera/dscamerasession.cpp
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-16 03:04:23 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-16 03:04:23 +0200
commitf93818a2d1b59f240d73d47c0771284a01c5a87a (patch)
tree6fd00c5cc077a46e635aabe68dc77065893aab71 /src/plugins/directshow/camera/dscamerasession.cpp
parent10c080521c525e1729b23dfa0afd08a1428f40d0 (diff)
parentd035d4de3770427396bd4e6a7db9b6c7161e2abf (diff)
Merge remote-tracking branch 'origin/5.13' into dev
Diffstat (limited to 'src/plugins/directshow/camera/dscamerasession.cpp')
-rw-r--r--src/plugins/directshow/camera/dscamerasession.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/directshow/camera/dscamerasession.cpp b/src/plugins/directshow/camera/dscamerasession.cpp
index 4bf448c31..27cdd84db 100644
--- a/src/plugins/directshow/camera/dscamerasession.cpp
+++ b/src/plugins/directshow/camera/dscamerasession.cpp
@@ -1116,8 +1116,8 @@ void DSCameraSession::updateSourceCapabilities()
long listSize = 0;
LONGLONG *frameRates = nullptr;
SIZE size = { resolution.width(), resolution.height() };
- if (SUCCEEDED(pVideoControl->GetFrameRateList(pPin, iIndex, size,
- &listSize, &frameRates))) {
+ hr = pVideoControl->GetFrameRateList(pPin, iIndex, size, &listSize, &frameRates);
+ if (hr == S_OK && listSize > 0 && frameRates) {
for (long i = 0; i < listSize; ++i) {
qreal fr = qreal(10000000) / frameRates[i];
frameRateRanges.append(QCamera::FrameRateRange(fr, fr));
@@ -1126,6 +1126,8 @@ void DSCameraSession::updateSourceCapabilities()
// Make sure higher frame rates come first
std::sort(frameRateRanges.begin(), frameRateRanges.end(), qt_frameRateRangeGreaterThan);
}
+
+ CoTaskMemFree(frameRates);
pPin->Release();
}
}