From d4487fac45f50228a268af526cb6ff7c5b932ea2 Mon Sep 17 00:00:00 2001 From: Dmytro Poplavskiy Date: Wed, 13 Apr 2011 13:06:11 +1000 Subject: Camerabin: unload camera after errors Camerabin doesn't work correctly after errors. Task-number: MOBILITY-2327 Reviewed-by: Jonas Rabbe --- plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp') diff --git a/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp b/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp index 56b9e84bc5..4a6bc3d381 100644 --- a/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp +++ b/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp @@ -87,6 +87,8 @@ CameraBinControl::CameraBinControl(CameraBinSession *session) SLOT(reloadLater())); connect(m_session, SIGNAL(readyChanged(bool)), SLOT(reloadLater())); + connect(m_session, SIGNAL(error(int,QString)), + SLOT(handleCameraError(int,QString))); m_resourcePolicy = new CamerabinResourcePolicy(this); connect(m_resourcePolicy, SIGNAL(resourcesGranted()), @@ -293,6 +295,12 @@ void CameraBinControl::handleBusyChanged(bool busy) } } +void CameraBinControl::handleCameraError(int errorCode, const QString &errorString) +{ + emit error(errorCode, errorString); + setState(QCamera::UnloadedState); +} + void CameraBinControl::delayedReload() { #ifdef CAMEABIN_DEBUG -- cgit v1.2.3 From 16e60edc07cb9ea5278788abc53aa032404f2244 Mon Sep 17 00:00:00 2001 From: Dmytro Poplavskiy Date: Mon, 18 Apr 2011 15:25:42 +1000 Subject: Camerabin backend: added captureMode changes notifications. Reviewed-by: Jonas Rabbe --- plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp') diff --git a/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp b/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp index 4a6bc3d381..8c5a31b627 100644 --- a/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp +++ b/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp @@ -123,6 +123,7 @@ void CameraBinControl::setCaptureMode(QCamera::CaptureMode mode) CamerabinResourcePolicy::ImageCaptureResources : CamerabinResourcePolicy::VideoCaptureResources); } + emit captureModeChanged(mode); } } -- cgit v1.2.3