+2005-08-28 Andy Wingo <wingo@pobox.com>
+
+ * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
+ as having two arguments instead of just one. Allows superclasses
+ to access information on subclasses -- see the terrible for() loop
+ in gtype.c:g_type_create_instance for the reason why. All callers
+ changed.
+
2005-08-27 Stefan Kost <ensonic@users.sf.net>
* docs/design/part-messages.txt:
}
static void
-gst_adapter_init (GstAdapter * adapter)
+gst_adapter_init (GstAdapter * adapter, GstAdapterClass * g_class)
{
adapter->assembled_data = g_malloc (DEFAULT_SIZE);
adapter->assembled_size = DEFAULT_SIZE;
store_class->buffer_added = gst_buffer_store_add_buffer_func;
}
static void
-gst_buffer_store_init (GstBufferStore * store)
+gst_buffer_store_init (GstBufferStore * store, GstBufferStoreClass * g_class)
{
store->buffers = NULL;
}
}
static void
-gst_capsfilter_init (GstCapsFilter * filter)
+gst_capsfilter_init (GstCapsFilter * filter, GstCapsFilterClass * g_class)
{
gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (filter), TRUE);
filter->filter_caps = gst_caps_new_any ();
}
static void
-gst_fake_sink_init (GstFakeSink * fakesink)
+gst_fake_sink_init (GstFakeSink * fakesink, GstFakeSinkClass * g_class)
{
fakesink->silent = DEFAULT_SILENT;
fakesink->dump = DEFAULT_DUMP;
}
static void
-gst_fake_src_init (GstFakeSrc * fakesrc)
+gst_fake_src_init (GstFakeSrc * fakesrc, GstFakeSrcClass * g_class)
{
fakesrc->output = FAKE_SRC_FIRST_LAST_LOOP;
fakesrc->segment_start = -1;
}
static void
-gst_file_sink_init (GstFileSink * filesink)
+gst_file_sink_init (GstFileSink * filesink, GstFileSinkClass * g_class)
{
GstPad *pad;
}
static void
-gst_file_src_init (GstFileSrc * src)
+gst_file_src_init (GstFileSrc * src, GstFileSrcClass * g_class)
{
#ifdef HAVE_MMAP
src->pagesize = getpagesize ();
}
static void
-gst_identity_init (GstIdentity * identity)
+gst_identity_init (GstIdentity * identity, GstIdentityClass * g_class)
{
gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (identity), TRUE);
}
static void
-gst_tee_init (GstTee * tee)
+gst_tee_init (GstTee * tee, GstTeeClass * g_class)
{
tee->sinkpad =
gst_pad_new_from_template (gst_static_pad_template_get (&sinktemplate),
GST_DEBUG_FUNCPTR (gst_type_find_element_change_state);
}
static void
-gst_type_find_element_init (GstTypeFindElement * typefind)
+gst_type_find_element_init (GstTypeFindElement * typefind,
+ GstTypeFindElementClass * g_class)
{
/* sinkpad */
typefind->sink =
\
static void type_as_function ## _base_init (gpointer g_class); \
static void type_as_function ## _class_init (type ## Class *g_class);\
-static void type_as_function ## _init (type *object); \
+static void type_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, \
}
static void
-gst_adapter_init (GstAdapter * adapter)
+gst_adapter_init (GstAdapter * adapter, GstAdapterClass * g_class)
{
adapter->assembled_data = g_malloc (DEFAULT_SIZE);
adapter->assembled_size = DEFAULT_SIZE;
store_class->buffer_added = gst_buffer_store_add_buffer_func;
}
static void
-gst_buffer_store_init (GstBufferStore * store)
+gst_buffer_store_init (GstBufferStore * store, GstBufferStoreClass * g_class)
{
store->buffers = NULL;
}
}
static void
-gst_capsfilter_init (GstCapsFilter * filter)
+gst_capsfilter_init (GstCapsFilter * filter, GstCapsFilterClass * g_class)
{
gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (filter), TRUE);
filter->filter_caps = gst_caps_new_any ();
}
static void
-gst_fake_sink_init (GstFakeSink * fakesink)
+gst_fake_sink_init (GstFakeSink * fakesink, GstFakeSinkClass * g_class)
{
fakesink->silent = DEFAULT_SILENT;
fakesink->dump = DEFAULT_DUMP;
}
static void
-gst_fake_src_init (GstFakeSrc * fakesrc)
+gst_fake_src_init (GstFakeSrc * fakesrc, GstFakeSrcClass * g_class)
{
fakesrc->output = FAKE_SRC_FIRST_LAST_LOOP;
fakesrc->segment_start = -1;
}
static void
-gst_file_sink_init (GstFileSink * filesink)
+gst_file_sink_init (GstFileSink * filesink, GstFileSinkClass * g_class)
{
GstPad *pad;
}
static void
-gst_file_src_init (GstFileSrc * src)
+gst_file_src_init (GstFileSrc * src, GstFileSrcClass * g_class)
{
#ifdef HAVE_MMAP
src->pagesize = getpagesize ();
}
static void
-gst_identity_init (GstIdentity * identity)
+gst_identity_init (GstIdentity * identity, GstIdentityClass * g_class)
{
gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (identity), TRUE);
}
static void
-gst_tee_init (GstTee * tee)
+gst_tee_init (GstTee * tee, GstTeeClass * g_class)
{
tee->sinkpad =
gst_pad_new_from_template (gst_static_pad_template_get (&sinktemplate),
GST_DEBUG_FUNCPTR (gst_type_find_element_change_state);
}
static void
-gst_type_find_element_init (GstTypeFindElement * typefind)
+gst_type_find_element_init (GstTypeFindElement * typefind,
+ GstTypeFindElementClass * g_class)
{
/* sinkpad */
typefind->sink =