diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-07-09 03:08:11 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2019-07-11 11:45:13 +0200 |
commit | 27497df23e68488472f922ead948b034225f9f3b (patch) | |
tree | 1d47484f345a0cc0a6147506459c55023eacf504 /src/plugins/directshow/camera/dscamerasession.cpp | |
parent | be84c8103b830c4c4bbda7ccfc72aea5b10e779b (diff) | |
parent | 1b70bbed49d12af86851a505a5aa5428b9e0c567 (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
.qmake.conf
Change-Id: Ic700bdddc5b4ae663af0daae54feb2420c8a1730
Diffstat (limited to 'src/plugins/directshow/camera/dscamerasession.cpp')
-rw-r--r-- | src/plugins/directshow/camera/dscamerasession.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/directshow/camera/dscamerasession.cpp b/src/plugins/directshow/camera/dscamerasession.cpp index 5ab9f67d8..a237811ae 100644 --- a/src/plugins/directshow/camera/dscamerasession.cpp +++ b/src/plugins/directshow/camera/dscamerasession.cpp @@ -1137,8 +1137,8 @@ void DSCameraSession::updateSourceCapabilities() long listSize = 0; LONGLONG *frameRates = 0; 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)); @@ -1147,6 +1147,8 @@ void DSCameraSession::updateSourceCapabilities() // Make sure higher frame rates come first std::sort(frameRateRanges.begin(), frameRateRanges.end(), qt_frameRateRangeGreaterThan); } + + CoTaskMemFree(frameRates); pPin->Release(); } } |