Added preview-supported property to qtcamera.ini
authorMohammed Sameer <msameer@foolab.org>
Sat, 3 Aug 2013 22:17:06 +0000 (01:17 +0300)
committerMohammed Sameer <msameer@foolab.org>
Sat, 3 Aug 2013 22:17:06 +0000 (01:17 +0300)
If the camera source does not support preview then camerabin2 will
misbehave if we enable preview

data/n9/qtcamera.ini
lib/qtcamconfig.cpp
lib/qtcamconfig.h
lib/qtcammode_p.h

index fc42c95..3d10102 100644 (file)
@@ -198,3 +198,6 @@ elements = facetracking, motiondetect
 element=facetracking
 enable=message
 message=regions-of-interest
+
+[general]
+preview-supported = true
index 7200f64..1b2a1b8 100644 (file)
@@ -215,3 +215,7 @@ QString QtCamConfig::roiEnableProperty() const {
 QString QtCamConfig::roiMessage() const {
   return d_ptr->conf->value("roi/message").toString();
 }
+
+bool QtCamConfig::isPreviewSupported() const {
+  return d_ptr->conf->value("general/preview-supported").toBool();
+}
index 7ae3a25..cd7a493 100644 (file)
@@ -82,6 +82,8 @@ public:
   QString roiEnableProperty() const;
   QString roiMessage() const;
 
+  bool isPreviewSupported() const;
+
 private:
   QtCamConfigPrivate *d_ptr;
 };
index 02139b9..b724ffd 100644 (file)
@@ -187,6 +187,12 @@ public:
 
       GstCaps *caps = gst_caps_from_string(preview.toLatin1());
 
+      if (!dev->conf->isPreviewSupported()) {
+       qWarning() << "Cannot set preview caps. Preview not supported";
+       gst_caps_unref(caps);
+       return;
+      }
+
       g_object_set(dev->cameraBin, "preview-caps", caps, "post-previews", TRUE, NULL);
 
       gst_caps_unref(caps);