diff options
author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2011-04-13 13:06:11 +1000 |
---|---|---|
committer | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2011-04-13 13:06:11 +1000 |
commit | d4487fac45f50228a268af526cb6ff7c5b932ea2 (patch) | |
tree | 1d583e6518592877fdbe68f587e6345cf85cabd3 /plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp | |
parent | 916372481a047b23f912c11ec183d2bbf23bf849 (diff) |
Camerabin: unload camera after errors
Camerabin doesn't work correctly after errors.
Task-number: MOBILITY-2327
Reviewed-by: Jonas Rabbe
Diffstat (limited to 'plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp')
-rw-r--r-- | plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
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 |