/* GStreamer
*
* Copyright (C) 2003 Ronald Bultje <rbultje@ronald.bitfreak.net>
- * 2006 Edgard Lima <edgard.lima@indt.org.br>
+ * 2006 Edgard Lima <edgard.lima@gmail.com>
*
* gstv4l2colorbalance.h: color balance interface implementation for V4L2
*
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_V4L2_COLOR_BALANCE_H__
#define __GST_V4L2_COLOR_BALANCE_H__
#include <gst/gst.h>
-#include <gst/interfaces/colorbalance.h>
-#include "v4l2_calls.h"
+#include <gst/video/colorbalance.h>
+
+#include "gstv4l2object.h"
G_BEGIN_DECLS
(gst_v4l2_color_balance_channel_get_type ())
#define GST_V4L2_COLOR_BALANCE_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL, \
- GstV4l2ColorBalanceChannel))
+ GstV4l2ColorBalanceChannel))
#define GST_V4L2_COLOR_BALANCE_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL, \
- GstV4l2ColorBalanceChannelClass))
+ GstV4l2ColorBalanceChannelClass))
#define GST_IS_V4L2_COLOR_BALANCE_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L2_COLOR_BALANCE_CHANNEL))
#define GST_IS_V4L2_COLOR_BALANCE_CHANNEL_CLASS(klass) \
GstColorBalanceChannelClass parent;
} GstV4l2ColorBalanceChannelClass;
-GType gst_v4l2_color_balance_channel_get_type (void);
+GType gst_v4l2_color_balance_channel_get_type (void);
-extern const GList *
-gst_v4l2_color_balance_list_channels (GstV4l2Object * v4l2object);
+const GList * gst_v4l2_color_balance_list_channels (GstV4l2Object * v4l2object);
-extern void
-gst_v4l2_color_balance_set_value (GstV4l2Object * v4l2object,
- GstColorBalanceChannel * channel, gint value);
+void gst_v4l2_color_balance_set_value (GstV4l2Object * v4l2object,
+ GstColorBalanceChannel * channel,
+ gint value);
-extern gint
-gst_v4l2_color_balance_get_value (GstV4l2Object * v4l2object,
- GstColorBalanceChannel * channel);
+gint gst_v4l2_color_balance_get_value (GstV4l2Object * v4l2object,
+ GstColorBalanceChannel * channel);
#define GST_IMPLEMENT_V4L2_COLOR_BALANCE_METHODS(Type, interface_as_function) \
\
gint value) \
{ \
Type *this = (Type*) balance; \
- return gst_v4l2_color_balance_set_value(this->v4l2object, channel, value); \
+ gst_v4l2_color_balance_set_value(this->v4l2object, channel, value); \
} \
\
static gint \
return gst_v4l2_color_balance_get_value(this->v4l2object, channel); \
} \
\
-void \
-interface_as_function ## _color_balance_interface_init (GstColorBalanceClass * klass) \
+static GstColorBalanceType \
+interface_as_function ## _color_balance_get_balance_type (GstColorBalance * balance) \
{ \
- GST_COLOR_BALANCE_TYPE (klass) = GST_COLOR_BALANCE_HARDWARE; \
+ return GST_COLOR_BALANCE_HARDWARE; \
+} \
\
+static void \
+interface_as_function ## _color_balance_interface_init (GstColorBalanceInterface * iface) \
+{ \
/* default virtual functions */ \
- klass->list_channels = interface_as_function ## _color_balance_list_channels; \
- klass->set_value = interface_as_function ## _color_balance_set_value; \
- klass->get_value = interface_as_function ## _color_balance_get_value; \
+ iface->list_channels = interface_as_function ## _color_balance_list_channels; \
+ iface->set_value = interface_as_function ## _color_balance_set_value; \
+ iface->get_value = interface_as_function ## _color_balance_get_value; \
+ iface->get_balance_type = interface_as_function ## _color_balance_get_balance_type; \
} \
+G_END_DECLS
#endif /* __GST_V4L2_COLOR_BALANCE_H__ */