diff --git a/plugins/elements/gstfilesrc.c b/plugins/elements/gstfilesrc.c index 46ef3e7afe..3290cfa1b6 100644 --- a/plugins/elements/gstfilesrc.c +++ b/plugins/elements/gstfilesrc.c @@ -486,52 +486,22 @@ struct _GstMmapBufferClass GstBufferClass buffer_class; }; -static void gst_mmap_buffer_init (GTypeInstance * instance, gpointer g_class); -static void gst_mmap_buffer_class_init (gpointer g_class, gpointer class_data); static void gst_mmap_buffer_finalize (GstMmapBuffer * mmap_buffer); -static GstBufferClass *mmap_buffer_parent_class = NULL; -static GType -gst_mmap_buffer_get_type (void) -{ - static GType _gst_mmap_buffer_type; - - if (G_UNLIKELY (_gst_mmap_buffer_type == 0)) { - static const GTypeInfo mmap_buffer_info = { - sizeof (GstMmapBufferClass), - NULL, - NULL, - gst_mmap_buffer_class_init, - NULL, - NULL, - sizeof (GstMmapBuffer), - 0, - gst_mmap_buffer_init, - NULL - }; - - _gst_mmap_buffer_type = g_type_register_static (GST_TYPE_BUFFER, - "GstMmapBuffer", &mmap_buffer_info, 0); - } - return _gst_mmap_buffer_type; -} +G_DEFINE_TYPE (GstMmapBuffer, gst_mmap_buffer, GST_TYPE_BUFFER); static void -gst_mmap_buffer_class_init (gpointer g_class, gpointer class_data) +gst_mmap_buffer_class_init (GstMmapBufferClass * g_class) { GstMiniObjectClass *mini_object_class = GST_MINI_OBJECT_CLASS (g_class); - mmap_buffer_parent_class = g_type_class_peek_parent (g_class); - mini_object_class->finalize = (GstMiniObjectFinalizeFunction) gst_mmap_buffer_finalize; } static void -gst_mmap_buffer_init (GTypeInstance * instance, gpointer g_class) +gst_mmap_buffer_init (GstMmapBuffer * buf) { - GstBuffer *buf = (GstBuffer *) instance; - GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_READONLY); /* before we re-enable this flag, we probably need to fix _copy() * _make_writable(), etc. in GstMiniObject/GstBuffer as well */ @@ -572,8 +542,8 @@ gst_mmap_buffer_finalize (GstMmapBuffer * mmap_buffer) GST_LOG ("unmapped region %08lx+%08lx at %p", (gulong) offset, (gulong) size, data); - GST_MINI_OBJECT_CLASS (mmap_buffer_parent_class)->finalize (GST_MINI_OBJECT - (mmap_buffer)); + GST_MINI_OBJECT_CLASS (gst_mmap_buffer_parent_class)->finalize + (GST_MINI_OBJECT (mmap_buffer)); } static GstBuffer * diff --git a/plugins/indexers/gstfileindex.c b/plugins/indexers/gstfileindex.c index 4744abcdcb..3601be8dc5 100644 --- a/plugins/indexers/gstfileindex.c +++ b/plugins/indexers/gstfileindex.c @@ -124,8 +124,6 @@ enum ARG_LOCATION, }; -static void gst_file_index_class_init (GstFileIndexClass * klass); -static void gst_file_index_init (GstFileIndex * index); static void gst_file_index_dispose (GObject * object); static void @@ -148,33 +146,7 @@ static GstIndexEntry *gst_file_index_get_assoc_entry (GstIndex * index, gint id, #define CLASS(file_index) GST_FILE_INDEX_CLASS (G_OBJECT_GET_CLASS (file_index)) -static GstIndex *parent_class = NULL; - -static GType -gst_file_index_get_type (void) -{ - static GType file_index_type = 0; - - if (!file_index_type) { - static const GTypeInfo file_index_info = { - sizeof (GstFileIndexClass), - NULL, - NULL, - (GClassInitFunc) gst_file_index_class_init, - NULL, - NULL, - sizeof (GstFileIndex), - 1, - (GInstanceInitFunc) gst_file_index_init, - NULL - }; - - file_index_type = - g_type_register_static (GST_TYPE_INDEX, "GstFileIndex", - &file_index_info, 0); - } - return file_index_type; -} +G_DEFINE_TYPE (GstFileIndex, gst_file_index, GST_TYPE_INDEX); static void gst_file_index_class_init (GstFileIndexClass * klass) @@ -185,8 +157,6 @@ gst_file_index_class_init (GstFileIndexClass * klass) gobject_class = (GObjectClass *) klass; gstindex_class = (GstIndexClass *) klass; - parent_class = g_type_class_peek_parent (klass); - gobject_class->dispose = gst_file_index_dispose; gobject_class->set_property = gst_file_index_set_property; gobject_class->get_property = gst_file_index_get_property; @@ -259,7 +229,7 @@ gst_file_index_dispose (GObject * object) gst_index_entry_free (index->ret_entry); /* hack */ - G_OBJECT_CLASS (parent_class)->dispose (object); + G_OBJECT_CLASS (gst_file_index_parent_class)->dispose (object); } struct fi_find_writer_context diff --git a/plugins/indexers/gstmemindex.c b/plugins/indexers/gstmemindex.c index c680eaa408..e77f4ea10f 100644 --- a/plugins/indexers/gstmemindex.c +++ b/plugins/indexers/gstmemindex.c @@ -107,8 +107,6 @@ enum /* FILL ME */ }; -static void gst_mem_index_class_init (GstMemIndexClass * klass); -static void gst_mem_index_init (GstMemIndex * index); static void gst_mem_index_finalize (GObject * object); static void gst_mem_index_add_entry (GstIndex * index, GstIndexEntry * entry); @@ -122,31 +120,7 @@ static GstIndex *parent_class = NULL; /*static guint gst_mem_index_signals[LAST_SIGNAL] = { 0 }; */ -static GType -gst_mem_index_get_type (void) -{ - static GType mem_index_type = 0; - - if (!mem_index_type) { - static const GTypeInfo mem_index_info = { - sizeof (GstMemIndexClass), - NULL, - NULL, - (GClassInitFunc) gst_mem_index_class_init, - NULL, - NULL, - sizeof (GstMemIndex), - 1, - (GInstanceInitFunc) gst_mem_index_init, - NULL - }; - - mem_index_type = - g_type_register_static (GST_TYPE_INDEX, "GstMemIndex", &mem_index_info, - 0); - } - return mem_index_type; -} +G_DEFINE_TYPE (GstMemIndex, gst_mem_index, GST_TYPE_INDEX); static void gst_mem_index_class_init (GstMemIndexClass * klass)