this frees the decoder in object destruction. Thomas, you cna now add this plugin back to the build

Original commit message from CVS:
this frees the decoder in object destruction. Thomas, you cna now add this plugin back to the build
This commit is contained in:
Ronald S. Bultje 2002-09-09 19:32:19 +00:00
parent b55bc35162
commit 8156d8078c

View file

@ -167,6 +167,7 @@ static GstTypeDefinition dv_definition = {
/* A number of functon prototypes are given so we can refer to them later. */ /* A number of functon prototypes are given so we can refer to them later. */
static void gst_dvdec_class_init (GstDVDecClass *klass); static void gst_dvdec_class_init (GstDVDecClass *klass);
static void gst_dvdec_init (GstDVDec *dvdec); static void gst_dvdec_init (GstDVDec *dvdec);
static void gst_dvdec_destroy (GObject *object);
static gboolean gst_dvdec_src_query (GstPad *pad, GstPadQueryType type, static gboolean gst_dvdec_src_query (GstPad *pad, GstPadQueryType type,
GstFormat *format, gint64 *value); GstFormat *format, gint64 *value);
@ -248,6 +249,7 @@ gst_dvdec_class_init (GstDVDecClass *klass)
gobject_class->set_property = gst_dvdec_set_property; gobject_class->set_property = gst_dvdec_set_property;
gobject_class->get_property = gst_dvdec_get_property; gobject_class->get_property = gst_dvdec_get_property;
gobject_class->dispose = gst_dvdec_destroy;
gstelement_class->change_state = gst_dvdec_change_state; gstelement_class->change_state = gst_dvdec_change_state;
@ -255,6 +257,14 @@ gst_dvdec_class_init (GstDVDecClass *klass)
dv_init(0, 0); dv_init(0, 0);
} }
static void
gst_dvdec_destroy (GObject *object)
{
GstDVDec *dvdec = GST_DVDEC(object);
dv_decoder_free(dvdec->decoder);
}
/* This function is responsible for initializing a specific instance of /* This function is responsible for initializing a specific instance of
* the plugin. * the plugin.
*/ */