summaryrefslogtreecommitdiffstats
path: root/src/plugins/gstreamer/camerabin/camerabinlocks.h
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den.exter@qinetic.com.au>2014-11-25 09:22:23 +1000
committerAndrew den Exter <andrew.den.exter@qinetic.com.au>2014-11-28 06:07:44 +0100
commit9932feec63994d87c586a07513e692545ba0db9e (patch)
tree4bdc7cd2b3167ee0306a52432f74da6632fa1573 /src/plugins/gstreamer/camerabin/camerabinlocks.h
parentdc2fec1bd8974d695d9c22d4b958a73bbe9ff1a2 (diff)
Implement exposure and whitebalance lock for gstreamer camera.
Change-Id: I58277d69c18ad2e31cad719a2dd6361c0c2d7e98 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabinlocks.h')
-rw-r--r--src/plugins/gstreamer/camerabin/camerabinlocks.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinlocks.h b/src/plugins/gstreamer/camerabin/camerabinlocks.h
index 80044d11d..752bc9476 100644
--- a/src/plugins/gstreamer/camerabin/camerabinlocks.h
+++ b/src/plugins/gstreamer/camerabin/camerabinlocks.h
@@ -37,6 +37,8 @@
#include <qcamera.h>
#include <qcameralockscontrol.h>
+#include <QtCore/qbasictimer.h>
+
#include <gst/gst.h>
#include <glib.h>
@@ -60,12 +62,29 @@ public:
void searchAndLock(QCamera::LockTypes locks);
void unlock(QCamera::LockTypes locks);
+protected:
+#if GST_CHECK_VERSION(1, 2, 0)
+ void timerEvent(QTimerEvent *event);
+#endif
+
private slots:
void updateFocusStatus(QCamera::LockStatus status, QCamera::LockChangeReason reason);
private:
+#if GST_CHECK_VERSION(1, 2, 0)
+ bool isExposureLocked() const;
+ void lockExposure(QCamera::LockChangeReason reason);
+ void unlockExposure(QCamera::LockStatus status, QCamera::LockChangeReason reason);
+
+ bool isWhiteBalanceLocked() const;
+ void lockWhiteBalance(QCamera::LockChangeReason reason);
+ void unlockWhiteBalance(QCamera::LockStatus status, QCamera::LockChangeReason reason);
+#endif
+
CameraBinSession *m_session;
CameraBinFocus *m_focus;
+ QBasicTimer m_lockTimer;
+ QCamera::LockTypes m_pendingLocks;
};
QT_END_NAMESPACE