From c459810caf72be43275e983b01cf97556ad55562 Mon Sep 17 00:00:00 2001 From: Val Doroshchuk Date: Mon, 19 Nov 2018 10:11:51 +0100 Subject: DirectShow: Display windows error string when camera fails Additionally to custom error messages it needs to show standard ones with error codes. Task-number: QTBUG-71851 Change-Id: I6504ec2417b0f686ab4e1a6902c4f00eeefcbbf2 Reviewed-by: Friedemann Kleint Reviewed-by: Andy Shaw --- src/plugins/directshow/camera/dscamerasession.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/plugins/directshow/camera/dscamerasession.cpp') diff --git a/src/plugins/directshow/camera/dscamerasession.cpp b/src/plugins/directshow/camera/dscamerasession.cpp index 8d0c72057..43cc9dbd1 100644 --- a/src/plugins/directshow/camera/dscamerasession.cpp +++ b/src/plugins/directshow/camera/dscamerasession.cpp @@ -502,7 +502,7 @@ failed: if (m_surface && m_surface->isActive()) m_surface->stop(); disconnectGraph(); - setError(QCamera::CameraError, errorString); + setError(QCamera::CameraError, errorString, hr); return false; } @@ -541,12 +541,13 @@ bool DSCameraSession::stopPreview() return true; failed: - setError(QCamera::CameraError, errorString); + setError(QCamera::CameraError, errorString, hr); return false; } -void DSCameraSession::setError(int error, const QString &errorString) +void DSCameraSession::setError(int error, const QString &errorString, HRESULT hr) { + qErrnoWarning(hr, "[0x%x] %s", hr, qPrintable(errorString)); emit cameraError(error, errorString); setStatus(QCamera::UnloadedStatus); } @@ -839,7 +840,7 @@ failed: SAFE_RELEASE(m_nullRendererFilter); SAFE_RELEASE(m_filterGraph); SAFE_RELEASE(m_graphBuilder); - setError(QCamera::CameraError, errorString); + setError(QCamera::CameraError, errorString, hr); return false; } -- cgit v1.2.3