/** * gst_ebml_write_new: * @srcpad: Source pad to which the output will be pushed. * * Creates a new #GstEbmlWrite. * * Returns: a new #GstEbmlWrite */ GstEbmlWrite * gst_ebml_write_new (GstPad * srcpad) { GstEbmlWrite *ebml = GST_EBML_WRITE (g_object_new (GST_TYPE_EBML_WRITE, NULL)); ebml->srcpad = gst_object_ref (srcpad); ebml->timestamp = GST_CLOCK_TIME_NONE; gst_ebml_write_reset (ebml); return ebml; }
static void gst_ebml_write_finalize (GObject * object) { GstEbmlWrite *ebml = GST_EBML_WRITE (object); gst_object_unref (ebml->srcpad); if (ebml->cache) { gst_buffer_unref (ebml->cache); ebml->cache = NULL; } GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (object)); }
static void gst_ebml_write_finalize (GObject * object) { GstEbmlWrite *ebml = GST_EBML_WRITE (object); gst_object_unref (ebml->srcpad); if (ebml->cache) { gst_byte_writer_free (ebml->cache); ebml->cache = NULL; } if (ebml->streamheader) { gst_byte_writer_free (ebml->streamheader); ebml->streamheader = NULL; } if (ebml->caps) { gst_caps_unref (ebml->caps); ebml->caps = NULL; } G_OBJECT_CLASS (parent_class)->finalize (object); }