#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 };
if (!gst_color_balance_type) {
static const GTypeInfo gst_color_balance_info = {
- sizeof (GstColorBalanceClass),
+ sizeof (GstColorBalanceInterface),
(GBaseInitFunc) gst_color_balance_class_init,
NULL,
NULL,
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;
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;
}
/**
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;
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);
}
}
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;
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);
}
/**