diff --git a/Makefile.am b/Makefile.am index 9638883cb3..0a9284f651 100644 --- a/Makefile.am +++ b/Makefile.am @@ -51,14 +51,22 @@ win32-update: gst/udp/gstudp-enumtypes.c \ gst/udp/gstudp-enumtypes.h \ gst/rtpmanager/gstrtpbin-marshal.c \ - gst/rtpmanager/gstrtpbin-marshal.h ; do \ + gst/rtpmanager/gstrtpbin-marshal.h \ + sys/v4l2/tuner-enumtypes.c \ + sys/v4l2/tuner-enumtypes.h \ + sys/v4l2/tuner-marshal.c \ + sys/v4l2/tuner-marshal.h; do \ cp $(top_builddir)/$$f win32/common; done $(top_srcdir)/common/gst-indent win32/common/gstudp-marshal.c $(top_srcdir)/common/gst-indent win32/common/gstudp-marshal.c $(top_srcdir)/common/gst-indent win32/common/gstudp-enumtypes.c $(top_srcdir)/common/gst-indent win32/common/gstudp-enumtypes.c - $(top_srcdir)/common/gst-indent gst/rtpmanager/gstrtpbin-marshal.c - $(top_srcdir)/common/gst-indent gst/rtpmanager/gstrtpbin-marshal.c + $(top_srcdir)/common/gst-indent win32/common/gstrtpbin-marshal.c + $(top_srcdir)/common/gst-indent win32/common/gstrtpbin-marshal.c + $(top_srcdir)/common/gst-indent win32/common/tuner-enumtypes.c + $(top_srcdir)/common/gst-indent win32/common/tuner-enumtypes.c + $(top_srcdir)/common/gst-indent win32/common/tuner-marshal.c + $(top_srcdir)/common/gst-indent win32/common/tuner-marshal.c cp $(top_builddir)/win32/common/config.h-new \ $(top_srcdir)/win32/common/config.h diff --git a/win32/MANIFEST b/win32/MANIFEST index cf63177018..b3b879fa54 100644 --- a/win32/MANIFEST +++ b/win32/MANIFEST @@ -2,6 +2,12 @@ win32/MANIFEST win32/common/config.h win32/common/gstudp-enumtypes.c win32/common/gstudp-enumtypes.h +win32/common/gstrtpbin-marshal.c +win32/common/gstrtpbin-marshal.h +win32/common/tuner-enumtypes.c +win32/common/tuner-enumtypes.h +win32/common/tuner-marshal.c +win32/common/tuner-marshal.h win32/vs6/gst_plugins_good.dsw win32/vs6/autogen.dsp win32/vs6/libgstalaw.dsp diff --git a/win32/common/tuner-enumtypes.c b/win32/common/tuner-enumtypes.c new file mode 100644 index 0000000000..32a3e1720c --- /dev/null +++ b/win32/common/tuner-enumtypes.c @@ -0,0 +1,28 @@ + + + +#include "tuner-enumtypes.h" + +#include "tuner.h" +#include "tunernorm.h" +#include "tunerchannel.h" + +/* enumerations from "tunerchannel.h" */ +GType +gst_tuner_channel_flags_get_type (void) +{ + static volatile gsize g_define_type_id__volatile = 0; + if (g_once_init_enter (&g_define_type_id__volatile)) { + static const GFlagsValue values[] = { + {GST_TUNER_CHANNEL_INPUT, "GST_TUNER_CHANNEL_INPUT", "input"}, + {GST_TUNER_CHANNEL_OUTPUT, "GST_TUNER_CHANNEL_OUTPUT", "output"}, + {GST_TUNER_CHANNEL_FREQUENCY, "GST_TUNER_CHANNEL_FREQUENCY", "frequency"}, + {GST_TUNER_CHANNEL_AUDIO, "GST_TUNER_CHANNEL_AUDIO", "audio"}, + {0, NULL, NULL} + }; + GType g_define_type_id = + g_flags_register_static ("GstTunerChannelFlags", values); + g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); + } + return g_define_type_id__volatile; +} diff --git a/win32/common/tuner-enumtypes.h b/win32/common/tuner-enumtypes.h new file mode 100644 index 0000000000..e9b9b7ae92 --- /dev/null +++ b/win32/common/tuner-enumtypes.h @@ -0,0 +1,19 @@ + + + +#ifndef __GST_INTERFACES_ENUM_TYPES_H__ +#define __GST_INTERFACES_ENUM_TYPES_H__ + +#include + +G_BEGIN_DECLS + +/* enumerations from "tunerchannel.h" */ +GType gst_tuner_channel_flags_get_type (void); +#define GST_TYPE_TUNER_CHANNEL_FLAGS (gst_tuner_channel_flags_get_type()) +G_END_DECLS + +#endif /* __GST_INTERFACES_ENUM_TYPES_H__ */ + + + diff --git a/win32/common/tuner-marshal.c b/win32/common/tuner-marshal.c new file mode 100644 index 0000000000..7e2cfcf732 --- /dev/null +++ b/win32/common/tuner-marshal.c @@ -0,0 +1,115 @@ +#include "tuner-marshal.h" + +#include + + +#ifdef G_ENABLE_DEBUG +#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) +#define g_marshal_value_peek_char(v) g_value_get_schar (v) +#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) +#define g_marshal_value_peek_int(v) g_value_get_int (v) +#define g_marshal_value_peek_uint(v) g_value_get_uint (v) +#define g_marshal_value_peek_long(v) g_value_get_long (v) +#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) +#define g_marshal_value_peek_int64(v) g_value_get_int64 (v) +#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) +#define g_marshal_value_peek_enum(v) g_value_get_enum (v) +#define g_marshal_value_peek_flags(v) g_value_get_flags (v) +#define g_marshal_value_peek_float(v) g_value_get_float (v) +#define g_marshal_value_peek_double(v) g_value_get_double (v) +#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) +#define g_marshal_value_peek_param(v) g_value_get_param (v) +#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) +#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) +#define g_marshal_value_peek_object(v) g_value_get_object (v) +#define g_marshal_value_peek_variant(v) g_value_get_variant (v) +#else /* !G_ENABLE_DEBUG */ +/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. + * Do not access GValues directly in your code. Instead, use the + * g_value_get_*() functions + */ +#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int +#define g_marshal_value_peek_char(v) (v)->data[0].v_int +#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint +#define g_marshal_value_peek_int(v) (v)->data[0].v_int +#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint +#define g_marshal_value_peek_long(v) (v)->data[0].v_long +#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong +#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 +#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 +#define g_marshal_value_peek_enum(v) (v)->data[0].v_long +#define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong +#define g_marshal_value_peek_float(v) (v)->data[0].v_float +#define g_marshal_value_peek_double(v) (v)->data[0].v_double +#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_variant(v) (v)->data[0].v_pointer +#endif /* !G_ENABLE_DEBUG */ + + +/* VOID:OBJECT,ULONG (tuner-marshal.list:1) */ +void +gst_interfaces_marshal_VOID__OBJECT_ULONG (GClosure * closure, + GValue * return_value G_GNUC_UNUSED, + guint n_param_values, + const GValue * param_values, + gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) +{ + typedef void (*GMarshalFunc_VOID__OBJECT_ULONG) (gpointer data1, + gpointer arg_1, gulong arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_ULONG callback; + register GCClosure *cc = (GCClosure *) closure; + register gpointer data1, data2; + + g_return_if_fail (n_param_values == 3); + + if (G_CCLOSURE_SWAP_DATA (closure)) { + data1 = closure->data; + data2 = g_value_peek_pointer (param_values + 0); + } else { + data1 = g_value_peek_pointer (param_values + 0); + data2 = closure->data; + } + callback = + (GMarshalFunc_VOID__OBJECT_ULONG) (marshal_data ? marshal_data : + cc->callback); + + callback (data1, + g_marshal_value_peek_object (param_values + 1), + g_marshal_value_peek_ulong (param_values + 2), data2); +} + +/* VOID:OBJECT,INT (tuner-marshal.list:2) */ +void +gst_interfaces_marshal_VOID__OBJECT_INT (GClosure * closure, + GValue * return_value G_GNUC_UNUSED, + guint n_param_values, + const GValue * param_values, + gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) +{ + typedef void (*GMarshalFunc_VOID__OBJECT_INT) (gpointer data1, + gpointer arg_1, gint arg_2, gpointer data2); + register GMarshalFunc_VOID__OBJECT_INT callback; + register GCClosure *cc = (GCClosure *) closure; + register gpointer data1, data2; + + g_return_if_fail (n_param_values == 3); + + if (G_CCLOSURE_SWAP_DATA (closure)) { + data1 = closure->data; + data2 = g_value_peek_pointer (param_values + 0); + } else { + data1 = g_value_peek_pointer (param_values + 0); + data2 = closure->data; + } + callback = + (GMarshalFunc_VOID__OBJECT_INT) (marshal_data ? marshal_data : + cc->callback); + + callback (data1, + g_marshal_value_peek_object (param_values + 1), + g_marshal_value_peek_int (param_values + 2), data2); +} diff --git a/win32/common/tuner-marshal.h b/win32/common/tuner-marshal.h new file mode 100644 index 0000000000..8217545632 --- /dev/null +++ b/win32/common/tuner-marshal.h @@ -0,0 +1,28 @@ + +#ifndef __gst_interfaces_marshal_MARSHAL_H__ +#define __gst_interfaces_marshal_MARSHAL_H__ + +#include + +G_BEGIN_DECLS + +/* VOID:OBJECT,ULONG (tuner-marshal.list:1) */ +extern void gst_interfaces_marshal_VOID__OBJECT_ULONG (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +/* VOID:OBJECT,INT (tuner-marshal.list:2) */ +extern void gst_interfaces_marshal_VOID__OBJECT_INT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +G_END_DECLS + +#endif /* __gst_interfaces_marshal_MARSHAL_H__ */ +