コード例 #1
0
ファイル: blitter.c プロジェクト: FrankBau/gstreamer-imx
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);
}
コード例 #2
0
ファイル: blitter.c プロジェクト: merics/gstreamer-imx
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);
}