一、比较重要的宏定义:
以下宏定义 在 gstutils.h文件中。
#define GST_BOILERPLATE(type,type_as_function,parent_type,parent_type_macro)\
GST_BOILERPLATE_FULL (type,type_as_function, parent_type, parent_type_macro, \
__GST_DO_NOTHING)
#define GST_BOILERPLATE_FULL(type,type_as_function, parent_type, parent_type_macro, additional_initializations) \
\
static voidtype_as_function ## _base_init (gpointer g_class); \
static voidtype_as_function ## _class_init (type## Class *g_class);\
static voidtype_as_function ## _init (type *object, \
type ## Class *g_class);\
static parent_type## Class *parent_class = NULL; \
static void \
type_as_function## _class_init_trampoline (gpointer g_class, \
gpointer data) \
{ \
parent_class = (parent_type ## Class *) \
g_type_class_peek_parent (g_class); \
type_as_function ## _class_init ((type ##Class *)g_class); \
}