Merge branch 'master' into 0.11
[platform/upstream/gst-plugins-base.git] / gst-libs / gst / video / colorbalance.c
similarity index 80%
rename from gst-libs/gst/interfaces/colorbalance.c
rename to gst-libs/gst/video/colorbalance.c
index 464d737..57a4de4 100644 (file)
@@ -25,7 +25,7 @@
 #endif
 
 #include "colorbalance.h"
-#include "interfaces-marshal.h"
+#include "video-marshal.h"
 
 /**
  * SECTION:gstcolorbalance
  * </refsect2>
  */
 
+/* FIXME 0.11: check if we need to add API for sometimes-supportedness
+ * (aka making up for GstImplementsInterface removal) */
+
+/* FIXME 0.11: replace signals with messages (+ make API thread-safe) */
+
 enum
 {
   VALUE_CHANGED,
   LAST_SIGNAL
 };
 
-static void gst_color_balance_class_init (GstColorBalanceClass * klass);
+static void gst_color_balance_class_init (GstColorBalanceInterface * iface);
 
 static guint gst_color_balance_signals[LAST_SIGNAL] = { 0 };
 
@@ -58,7 +63,7 @@ gst_color_balance_get_type (void)
 
   if (!gst_color_balance_type) {
     static const GTypeInfo gst_color_balance_info = {
-      sizeof (GstColorBalanceClass),
+      sizeof (GstColorBalanceInterface),
       (GBaseInitFunc) gst_color_balance_class_init,
       NULL,
       NULL,
@@ -71,15 +76,13 @@ gst_color_balance_get_type (void)
 
     gst_color_balance_type = g_type_register_static (G_TYPE_INTERFACE,
         "GstColorBalance", &gst_color_balance_info, 0);
-    g_type_interface_add_prerequisite (gst_color_balance_type,
-        GST_TYPE_IMPLEMENTS_INTERFACE);
   }
 
   return gst_color_balance_type;
 }
 
 static void
-gst_color_balance_class_init (GstColorBalanceClass * klass)
+gst_color_balance_class_init (GstColorBalanceInterface * iface)
 {
   static gboolean initialized = FALSE;
 
@@ -95,22 +98,19 @@ gst_color_balance_class_init (GstColorBalanceClass * klass)
     gst_color_balance_signals[VALUE_CHANGED] =
         g_signal_new ("value-changed",
         GST_TYPE_COLOR_BALANCE, G_SIGNAL_RUN_LAST,
-        G_STRUCT_OFFSET (GstColorBalanceClass, value_changed),
+        G_STRUCT_OFFSET (GstColorBalanceInterface, value_changed),
         NULL, NULL,
-        gst_interfaces_marshal_VOID__OBJECT_INT,
+        gst_video_marshal_VOID__OBJECT_INT,
         G_TYPE_NONE, 2, GST_TYPE_COLOR_BALANCE_CHANNEL, G_TYPE_INT);
 
     initialized = TRUE;
   }
-#ifndef GST_REMOVE_DEPRECATED
-  klass->balance_type = GST_COLOR_BALANCE_SOFTWARE;
-#endif
 
   /* default virtual functions */
-  klass->list_channels = NULL;
-  klass->set_value = NULL;
-  klass->get_value = NULL;
-  klass->get_balance_type = NULL;
+  iface->list_channels = NULL;
+  iface->set_value = NULL;
+  iface->get_value = NULL;
+  iface->get_balance_type = NULL;
 }
 
 /**
@@ -126,14 +126,14 @@ gst_color_balance_class_init (GstColorBalanceClass * klass)
 const GList *
 gst_color_balance_list_channels (GstColorBalance * balance)
 {
-  GstColorBalanceClass *klass;
+  GstColorBalanceInterface *iface;
 
   g_return_val_if_fail (GST_IS_COLOR_BALANCE (balance), NULL);
 
-  klass = GST_COLOR_BALANCE_GET_CLASS (balance);
+  iface = GST_COLOR_BALANCE_GET_INTERFACE (balance);
 
-  if (klass->list_channels) {
-    return klass->list_channels (balance);
+  if (iface->list_channels) {
+    return iface->list_channels (balance);
   }
 
   return NULL;
@@ -156,10 +156,10 @@ void
 gst_color_balance_set_value (GstColorBalance * balance,
     GstColorBalanceChannel * channel, gint value)
 {
-  GstColorBalanceClass *klass = GST_COLOR_BALANCE_GET_CLASS (balance);
+  GstColorBalanceInterface *iface = GST_COLOR_BALANCE_GET_INTERFACE (balance);
 
-  if (klass->set_value) {
-    klass->set_value (balance, channel, value);
+  if (iface->set_value) {
+    iface->set_value (balance, channel, value);
   }
 }
 
@@ -181,14 +181,14 @@ gint
 gst_color_balance_get_value (GstColorBalance * balance,
     GstColorBalanceChannel * channel)
 {
-  GstColorBalanceClass *klass;
+  GstColorBalanceInterface *iface;
 
   g_return_val_if_fail (GST_IS_COLOR_BALANCE (balance), 0);
 
-  klass = GST_COLOR_BALANCE_GET_CLASS (balance);
+  iface = GST_COLOR_BALANCE_GET_INTERFACE (balance);
 
-  if (klass->get_value) {
-    return klass->get_value (balance, channel);
+  if (iface->get_value) {
+    return iface->get_value (balance, channel);
   }
 
   return channel->min_value;
@@ -207,21 +207,17 @@ gst_color_balance_get_value (GstColorBalance * balance,
 GstColorBalanceType
 gst_color_balance_get_balance_type (GstColorBalance * balance)
 {
-  GstColorBalanceClass *klass;
+  GstColorBalanceInterface *iface;
 
   g_return_val_if_fail (GST_IS_COLOR_BALANCE (balance),
       GST_COLOR_BALANCE_SOFTWARE);
 
-  klass = GST_COLOR_BALANCE_GET_CLASS (balance);
+  iface = GST_COLOR_BALANCE_GET_INTERFACE (balance);
 
-  if (klass->get_balance_type)
-    return klass->get_balance_type (balance);
+  g_return_val_if_fail (iface->get_balance_type != NULL,
+      GST_COLOR_BALANCE_SOFTWARE);
 
-#ifndef GST_REMOVE_DEPRECATED
-  return klass->balance_type;
-#else
-  g_return_val_if_reached (GST_COLOR_BALANCE_SOFTWARE);
-#endif
+  return iface->get_balance_type (balance);
 }
 
 /**