static void gst_imx_ipu_blitter_finalize(GObject *object) { GstImxIpuBlitter *ipu_blitter = GST_IMX_IPU_BLITTER(object); if (ipu_blitter->input_frame != NULL) gst_buffer_unref(ipu_blitter->input_frame); if (ipu_blitter->output_frame != NULL) gst_buffer_unref(ipu_blitter->output_frame); if (ipu_blitter->fill_frame != NULL) gst_buffer_unref(ipu_blitter->fill_frame); if (ipu_blitter->allocator != NULL) gst_object_unref(ipu_blitter->allocator); if (ipu_blitter->priv != NULL) { gst_imx_ipu_close(); g_slice_free1(sizeof(GstImxIpuBlitterPrivate), ipu_blitter->priv); } G_OBJECT_CLASS(gst_imx_ipu_blitter_parent_class)->finalize(object); }
static void gst_imx_ipu_blitter_finalize(GObject *object) { GstImxIpuBlitter *ipu_blitter = GST_IMX_IPU_BLITTER(object); gst_imx_ipu_blitter_flush(GST_IMX_BASE_BLITTER(object)); if (ipu_blitter->dummy_black_buffer != NULL) gst_buffer_unref(ipu_blitter->dummy_black_buffer); if (ipu_blitter->allocator != NULL) gst_object_unref(GST_OBJECT(ipu_blitter->allocator)); if (ipu_blitter->priv != NULL) { gst_imx_ipu_close(); g_slice_free1(sizeof(GstImxIpuBlitterPrivate), ipu_blitter->priv); } GST_INFO_OBJECT(object, "shut down IPU blitter"); G_OBJECT_CLASS(gst_imx_ipu_blitter_parent_class)->finalize(object); }