static void gst_subbuffer_class_init (gpointer g_class, gpointer class_data) { GstBufferClass *buffer_class = GST_BUFFER_CLASS (g_class); sub_parent_class = g_type_class_peek_parent (g_class); buffer_class->mini_object_class.finalize = (GstMiniObjectFinalizeFunction) gst_subbuffer_finalize; }
static void gst_omxbuffertransport_finalize(GstBuffer *gstbuffer) { GstOmxBufferTransport *self = GST_OMXBUFFERTRANSPORT(gstbuffer); GST_LOG("begin\n"); release_buffer (self->port, self->omxbuffer); self->omxbuffer = NULL; self->port = NULL; /* Call GstBuffer's finalize routine, so our base class can do it's cleanup * as well. If we don't do this, we'll have a memory leak that is very * difficult to track down. */ GST_BUFFER_CLASS(parent_class)-> mini_object_class.finalize(GST_MINI_OBJECT(gstbuffer)); GST_LOG("end finalize\n"); }