diff options
author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2010-08-23 15:22:51 +1000 |
---|---|---|
committer | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2010-08-23 15:22:51 +1000 |
commit | bbca74ca26c8fe006b8ea7a8d98fed37568dc62d (patch) | |
tree | edeb1b568a237b275bc1d5d5243035abb5b12dbd /plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp | |
parent | 2a8e31d990ff301e93b14e092a3f3a08489d3d32 (diff) |
CameraBin: camera status is changed to Loaded right after capture
settings are changed.
The status is changed to Stating in the next event loop to allow
sequential changes of viewfinder or capture settings.
Diffstat (limited to 'plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp')
-rw-r--r-- | plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp b/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp index 820f223d6a..c2fe4af539 100644 --- a/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp +++ b/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp @@ -60,7 +60,7 @@ #include <sys/mman.h> #include <linux/videodev2.h> -//#define CAMEABIN_DEBUG +#define CAMEABIN_DEBUG CameraBinControl::CameraBinControl(CameraBinSession *session) :QCameraControl(session), @@ -150,7 +150,6 @@ void CameraBinControl::updateStatus() #endif emit statusChanged(m_status); } - } void CameraBinControl::reloadLater() @@ -160,19 +159,19 @@ void CameraBinControl::reloadLater() #endif if (!m_reloadPending && m_state == QCamera::ActiveState) { m_reloadPending = true; - QMetaObject::invokeMethod(this, "reloadPipeline", Qt::QueuedConnection); + m_session->setState(QCamera::LoadedState); + QMetaObject::invokeMethod(this, "delayedReload", Qt::QueuedConnection); } } -void CameraBinControl::reloadPipeline() +void CameraBinControl::delayedReload() { #ifdef CAMEABIN_DEBUG qDebug() << "reload pipeline"; #endif if (m_reloadPending) { m_reloadPending = false; - if (m_state == QCamera::ActiveState) { - m_session->setState(QCamera::LoadedState); + if (m_state == QCamera::ActiveState) { m_session->setState(QCamera::ActiveState); } } |