summaryrefslogtreecommitdiffstats
path: root/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2010-08-24 17:02:06 +1000
committerDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2010-08-24 17:02:06 +1000
commitf66cfebc3c6cb86d16fe04660ab314d8a1afdede (patch)
tree1457e3963ed0c47b22276f06d904bfd39df38702 /plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp
parentf6621701b73d99cd3af7aeba0c6503aeb988e109 (diff)
QCamera stops the backend to apply certain settings if backend
can not do this itself more effectively in Active state.
Diffstat (limited to 'plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp')
-rw-r--r--plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp b/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp
index c2fe4af539..b2d21ce7fb 100644
--- a/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp
+++ b/plugins/multimedia/gstreamer/camerabin/camerabincontrol.cpp
@@ -155,7 +155,7 @@ void CameraBinControl::updateStatus()
void CameraBinControl::reloadLater()
{
#ifdef CAMEABIN_DEBUG
- qDebug() << "reload pipeline requested";
+ qDebug() << "reload pipeline requested" << m_state;
#endif
if (!m_reloadPending && m_state == QCamera::ActiveState) {
m_reloadPending = true;
@@ -176,3 +176,18 @@ void CameraBinControl::delayedReload()
}
}
}
+
+bool CameraBinControl::canChangeProperty(PropertyChangeType changeType, QCamera::Status status) const
+{
+ Q_UNUSED(status);
+
+ switch (changeType) {
+ case QCameraControl::CaptureMode:
+ case QCameraControl::ImageEncodingSettings:
+ case QCameraControl::VideoEncodingSettings:
+ case QCameraControl::Viewfinder:
+ return true;
+ default:
+ return false;
+ }
+}