diff --git a/gst/gstmarshal.c b/gst/gstmarshal.c new file mode 100644 index 0000000000..9e1e53f94b --- /dev/null +++ b/gst/gstmarshal.c @@ -0,0 +1,39 @@ +#include + +/* VOID:OBJECT,POINTER (./gstmarshal.list:1) */ +void +gst_marshal_VOID__OBJECT_POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data) +{ + typedef void (*GMarshalFunc_VOID__OBJECT_POINTER) (gpointer data1, + gpointer arg_1, + gpointer arg_2, + gpointer data2); + register GMarshalFunc_VOID__OBJECT_POINTER 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_POINTER) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + g_value_get_object (param_values + 1), + g_value_get_pointer (param_values + 2), + data2); +} + diff --git a/gst/gstmarshal.h b/gst/gstmarshal.h new file mode 100644 index 0000000000..f57cfbb0ea --- /dev/null +++ b/gst/gstmarshal.h @@ -0,0 +1,20 @@ +#ifndef __GST_MARSHAL_H__ +#define __GST_MARSHAL_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/* VOID:OBJECT,POINTER (./gstmarshal.list:1) */ +extern void gst_marshal_VOID__OBJECT_POINTER (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif // __GST_MARSHAL_H__