From 5f15380e7c807c8111c32fc9bcf53189a868d23c Mon Sep 17 00:00:00 2001 From: Ihor Dutchak <ihor.youw@gmail.com> Date: Sun, 17 Mar 2019 00:46:30 +0200 Subject: [PATCH] DirectShow: don't change camera zoom level if not requested DirectShowCameraZoomControl sets camera zoom level to 1x each time, when camera goes into LoadedStatus (e.g. on stream stop), which is inconveniant, specially if camera has physical remote, and zoom level may be changed externally. Disable this behavior, if zoom level was not requested explicitly by zoomTo(...) function from client code. Fixes: QTBUG-74180 Change-Id: I99ff76af04f80c630a0c397db5713e6706ebf175 Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io> Reviewed-by: Ihor Dutchak <ihor.youw@gmail.com> --- src/plugins/directshow/camera/directshowcamerazoomcontrol.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/directshow/camera/directshowcamerazoomcontrol.cpp b/src/plugins/directshow/camera/directshowcamerazoomcontrol.cpp index 209cb5d96..079976e15 100644 --- a/src/plugins/directshow/camera/directshowcamerazoomcontrol.cpp +++ b/src/plugins/directshow/camera/directshowcamerazoomcontrol.cpp @@ -176,7 +176,7 @@ void DirectShowCameraZoomControl::updateZoomValues() } // Check if there is a pending zoom value. - if (!qFuzzyCompare(m_currentOpticalZoom, m_requestedOpticalZoom)) + if (!qFuzzyCompare(m_currentOpticalZoom, m_requestedOpticalZoom) && !qFuzzyIsNull(m_requestedOpticalZoom)) opticalZoomToPrivate(m_requestedOpticalZoom); } -- GitLab