diff options
author | Yoann Lopes <yoann.lopes@digia.com> | 2014-04-07 14:24:51 +0200 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@digia.com> | 2014-07-11 18:47:12 +0200 |
commit | 389d66b3ed5e2d798e9fb124064523239c393ad8 (patch) | |
tree | e297dd513433e1f2c117083af1d0b46cb625865d /src/plugins/directshow/camera/dsimagecapturecontrol.h | |
parent | f352e44df9907bbefe4c962a06c7a7c87516dd90 (diff) |
DirectShow: Refactor camera backend.
Almost entire rewrite of the camera backend. It doesn't provide new
features but is more stable and behave as it should.
- Correctly report camera state and status
- Correctly report if the camera is ready to capture
- Emit imageExposed() signal
- Save captured images in an appropriate directory
- Images can be captured even without a viewport
- Better error handling
Removed the custom QVideoWidgetControl as it doesn't provide anything more
than the QVideoWidget's renderer control fallback.
Task-number: QTBUG-33782
Change-Id: I9baf6f83e7c69619f20a101921f7865a1c90d5e4
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
Diffstat (limited to 'src/plugins/directshow/camera/dsimagecapturecontrol.h')
-rw-r--r-- | src/plugins/directshow/camera/dsimagecapturecontrol.h | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/plugins/directshow/camera/dsimagecapturecontrol.h b/src/plugins/directshow/camera/dsimagecapturecontrol.h index e39539191..af8765943 100644 --- a/src/plugins/directshow/camera/dsimagecapturecontrol.h +++ b/src/plugins/directshow/camera/dsimagecapturecontrol.h @@ -52,23 +52,18 @@ class DSImageCaptureControl : public QCameraImageCaptureControl Q_OBJECT public: DSImageCaptureControl(DSCameraSession *session); - virtual ~DSImageCaptureControl(); + ~DSImageCaptureControl(); bool isReadyForCapture() const; int capture(const QString &fileName); - virtual QCameraImageCapture::DriveMode driveMode() const { return QCameraImageCapture::SingleImageCapture; } - virtual void setDriveMode(QCameraImageCapture::DriveMode mode) { Q_UNUSED(mode) } - - virtual void cancelCapture() {} - -private slots: - void updateState(); + QCameraImageCapture::DriveMode driveMode() const; + void setDriveMode(QCameraImageCapture::DriveMode mode); + void cancelCapture() {} private: DSCameraSession *m_session; - bool m_ready; }; QT_END_NAMESPACE |