winks: store priv pointer instead of looking it up
authorOle André Vadla Ravnås <oravnas@cisco.com>
Mon, 7 Sep 2009 14:09:34 +0000 (16:09 +0200)
committerOle André Vadla Ravnås <oravnas@cisco.com>
Thu, 28 Oct 2010 15:08:35 +0000 (17:08 +0200)
sys/winks/gstksclock.c
sys/winks/gstksclock.h
sys/winks/gstksvideodevice.c
sys/winks/gstksvideodevice.h
sys/winks/gstksvideosrc.c
sys/winks/gstksvideosrc.h

index 6ed642e..db1a8a1 100644 (file)
@@ -24,7 +24,7 @@
 GST_DEBUG_CATEGORY_EXTERN (gst_ks_debug);
 #define GST_CAT_DEFAULT gst_ks_debug
 
-typedef struct
+struct _GstKsClockPrivate
 {
   GMutex *mutex;
   GCond *client_cond;
@@ -41,11 +41,9 @@ typedef struct
   gboolean worker_initialized;
 
   GstClock *master_clock;
-} GstKsClockPrivate;
+};
 
-#define GST_KS_CLOCK_GET_PRIVATE(o) \
-    (G_TYPE_INSTANCE_GET_PRIVATE ((o), GST_TYPE_KS_CLOCK, \
-    GstKsClockPrivate))
+#define GST_KS_CLOCK_GET_PRIVATE(o) ((o)->priv)
 
 #define GST_KS_CLOCK_LOCK() g_mutex_lock (priv->mutex)
 #define GST_KS_CLOCK_UNLOCK() g_mutex_unlock (priv->mutex)
@@ -74,7 +72,12 @@ gst_ks_clock_class_init (GstKsClockClass * klass)
 static void
 gst_ks_clock_init (GstKsClock * self, GstKsClockClass * gclass)
 {
-  GstKsClockPrivate *priv = GST_KS_CLOCK_GET_PRIVATE (self);
+  GstKsClockPrivate *priv;
+
+  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GST_TYPE_KS_CLOCK,
+      GstKsClockPrivate);
+
+  priv = GST_KS_CLOCK_GET_PRIVATE (self);
 
   priv->mutex = g_mutex_new ();
   priv->client_cond = g_cond_new ();
index 42a043f..809b76b 100644 (file)
@@ -38,12 +38,15 @@ G_BEGIN_DECLS
 #define GST_IS_KS_CLOCK_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_KS_CLOCK))
 
-typedef struct _GstKsClock      GstKsClock;
-typedef struct _GstKsClockClass GstKsClockClass;
+typedef struct _GstKsClock        GstKsClock;
+typedef struct _GstKsClockClass   GstKsClockClass;
+typedef struct _GstKsClockPrivate GstKsClockPrivate;
 
 struct _GstKsClock
 {
   GObject parent;
+
+  GstKsClockPrivate *priv;
 };
 
 struct _GstKsClockClass
index 2f07542..3e59d2a 100644 (file)
@@ -57,7 +57,7 @@ typedef struct
   OVERLAPPED overlapped;
 } ReadRequest;
 
-typedef struct
+struct _GstKsVideoDevicePrivate
 {
   gboolean open;
   KSSTATE state;
@@ -87,9 +87,7 @@ typedef struct
   GstClockTime last_timestamp;
 } GstKsVideoDevicePrivate;
 
-#define GST_KS_VIDEO_DEVICE_GET_PRIVATE(o) \
-    (G_TYPE_INSTANCE_GET_PRIVATE ((o), GST_TYPE_KS_VIDEO_DEVICE, \
-    GstKsVideoDevicePrivate))
+#define GST_KS_VIDEO_DEVICE_GET_PRIVATE(o) ((o)->priv)
 
 static void gst_ks_video_device_dispose (GObject * object);
 static void gst_ks_video_device_get_property (GObject * object, guint prop_id,
@@ -132,8 +130,12 @@ static void
 gst_ks_video_device_init (GstKsVideoDevice * self,
     GstKsVideoDeviceClass * gclass)
 {
-  GstKsVideoDevicePrivate *priv = GST_KS_VIDEO_DEVICE_GET_PRIVATE (self);
+  GstKsVideoDevicePrivate *priv;
+
+  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GST_TYPE_KS_VIDEO_DEVICE,
+      GstKsVideoDevicePrivate);
 
+  priv = GST_KS_VIDEO_DEVICE_GET_PRIVATE (self);
   priv->open = FALSE;
   priv->state = KSSTATE_STOP;
 }
index 99024e1..e5d80da 100644 (file)
@@ -38,12 +38,15 @@ G_BEGIN_DECLS
 #define GST_IS_KS_VIDEO_DEVICE_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_KS_VIDEO_DEVICE))
 
-typedef struct _GstKsVideoDevice      GstKsVideoDevice;
-typedef struct _GstKsVideoDeviceClass GstKsVideoDeviceClass;
+typedef struct _GstKsVideoDevice        GstKsVideoDevice;
+typedef struct _GstKsVideoDeviceClass   GstKsVideoDeviceClass;
+typedef struct _GstKsVideoDevicePrivate GstKsVideoDevicePrivate;
 
 struct _GstKsVideoDevice
 {
   GObject parent;
+
+  GstKsVideoDevicePrivate *priv;
 };
 
 struct _GstKsVideoDeviceClass
index 1e3370b..de6d561 100644 (file)
@@ -84,7 +84,7 @@ typedef enum
   KS_WORKER_STATE_ERROR,
 } KsWorkerState;
 
-typedef struct
+struct _GstKsVideoSrcPrivate
 {
   /* Properties */
   gchar *device_path;
@@ -118,11 +118,9 @@ typedef struct
   GstClockTime last_sampling;
   guint count;
   guint fps;
-} GstKsVideoSrcPrivate;
+};
 
-#define GST_KS_VIDEO_SRC_GET_PRIVATE(o) \
-    (G_TYPE_INSTANCE_GET_PRIVATE ((o), GST_TYPE_KS_VIDEO_SRC, \
-    GstKsVideoSrcPrivate))
+#define GST_KS_VIDEO_SRC_GET_PRIVATE(o) ((o)->priv)
 
 static void gst_ks_video_src_init_interfaces (GType type);
 
@@ -238,8 +236,12 @@ gst_ks_video_src_class_init (GstKsVideoSrcClass * klass)
 static void
 gst_ks_video_src_init (GstKsVideoSrc * self, GstKsVideoSrcClass * gclass)
 {
-  GstKsVideoSrcPrivate *priv = GST_KS_VIDEO_SRC_GET_PRIVATE (self);
   GstBaseSrc *basesrc = GST_BASE_SRC (self);
+  GstKsVideoSrcPrivate *priv;
+
+  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GST_TYPE_KS_VIDEO_SRC,
+      GstKsVideoSrcPrivate);
+  priv = GST_KS_VIDEO_SRC_GET_PRIVATE (self);
 
   gst_base_src_set_live (basesrc, TRUE);
   gst_base_src_set_format (basesrc, GST_FORMAT_TIME);
index d41023d..d7766c2 100644 (file)
@@ -36,12 +36,15 @@ G_BEGIN_DECLS
 #define GST_IS_KS_VIDEO_SRC_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_KS_VIDEO_SRC))
 
-typedef struct _GstKsVideoSrc      GstKsVideoSrc;
-typedef struct _GstKsVideoSrcClass GstKsVideoSrcClass;
+typedef struct _GstKsVideoSrc         GstKsVideoSrc;
+typedef struct _GstKsVideoSrcClass    GstKsVideoSrcClass;
+typedef struct _GstKsVideoSrcPrivate  GstKsVideoSrcPrivate;
 
 struct _GstKsVideoSrc
 {
   GstPushSrc push_src;
+
+  GstKsVideoSrcPrivate * priv;
 };
 
 struct _GstKsVideoSrcClass