diff options
Diffstat (limited to 'plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp')
-rw-r--r-- | plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp b/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp index 56b9e84bc5..8c5a31b627 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()), @@ -121,6 +123,7 @@ void CameraBinControl::setCaptureMode(QCamera::CaptureMode mode) CamerabinResourcePolicy::ImageCaptureResources : CamerabinResourcePolicy::VideoCaptureResources); } + emit captureModeChanged(mode); } } @@ -293,6 +296,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 |