Move qt_cam_copy_register to QtCamera
authorMohammed Sameer <msameer@foolab.org>
Thu, 12 Sep 2013 00:37:38 +0000 (03:37 +0300)
committerMohammed Sameer <msameer@foolab.org>
Thu, 12 Sep 2013 00:37:38 +0000 (03:37 +0300)
This makes sure we register it once per application instead of once per device.

lib/qtcamdevice.cpp
lib/qtcamera.cpp

index 38da29b..ed00c5e 100644 (file)
@@ -29,7 +29,6 @@
 #include "qtcamimagemode.h"
 #include "qtcamvideomode.h"
 #include "qtcamnotifications.h"
-#include "gst/gstcopy.h"
 #include "qtcampropertysetter.h"
 #include "qtcamanalysisbin.h"
 
@@ -37,12 +36,6 @@ QtCamDevice::QtCamDevice(QtCamConfig *config, const QString& name,
                         const QVariant& id, QObject *parent) :
   QObject(parent), d_ptr(new QtCamDevicePrivate) {
 
-  static gboolean register_copy = TRUE;
-  if (register_copy) {
-    qt_cam_copy_register();
-    register_copy = FALSE;
-  }
-
   d_ptr->q_ptr = this;
   d_ptr->name = name;
   d_ptr->id = id;
index 6fc24d7..97f4304 100644 (file)
@@ -22,6 +22,7 @@
 #include "qtcamscanner.h"
 #include "qtcamconfig.h"
 #include "qtcamdevice.h"
+#include "gst/gstcopy.h"
 #include <gst/gst.h>
 
 class QtCameraPrivate {
@@ -34,6 +35,7 @@ QtCamera::QtCamera(QObject *parent) :
   QObject(parent), d_ptr(new QtCameraPrivate) {
 
   gst_init(0, 0);
+  qt_cam_copy_register();
 
   d_ptr->conf = new QtCamConfig(this);
   d_ptr->scanner = new QtCamScanner(d_ptr->conf, this);
@@ -45,6 +47,7 @@ QtCamera::QtCamera(const QString& configPath, QObject *parent) :
   QObject(parent), d_ptr(new QtCameraPrivate) {
 
   gst_init(0, 0);
+  qt_cam_copy_register();
 
   d_ptr->conf = new QtCamConfig(configPath, this);
   d_ptr->scanner = new QtCamScanner(d_ptr->conf, this);
@@ -56,6 +59,7 @@ QtCamera::QtCamera(QtCamConfig *config, QObject *parent) :
   QObject(parent), d_ptr(new QtCameraPrivate) {
 
   gst_init(0, 0);
+  qt_cam_copy_register();
 
   d_ptr->conf = config;
   d_ptr->scanner = new QtCamScanner(d_ptr->conf, this);