Commit 0b2661dc authored by Ronald S. Bultje's avatar Ronald S. Bultje

gst/qtdemux/qtdemux.c: More memory leak fixes (#149162).

Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (gst_qtdemux_handle_esds):
More memory leak fixes (#149162).
parent d4b70a1a
2005-01-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (gst_qtdemux_handle_esds):
More memory leak fixes (#149162).
2005-01-18 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
......
......@@ -524,7 +524,9 @@ gst_qtdemux_change_state (GstElement * element)
break;
case GST_STATE_PLAYING_TO_PAUSED:
break;
case GST_STATE_PAUSED_TO_READY:
case GST_STATE_PAUSED_TO_READY:{
gint n;
qtdemux->last_ts = GST_CLOCK_TIME_NONE;
qtdemux->need_discont = FALSE;
qtdemux->need_flush = FALSE;
......@@ -533,7 +535,15 @@ gst_qtdemux_change_state (GstElement * element)
gst_tag_list_free (qtdemux->tag_list);
qtdemux->tag_list = NULL;
}
for (n = 0; n < qtdemux->n_streams; n++) {
gst_element_remove_pad (element, qtdemux->streams[n]->pad);
g_free (qtdemux->streams[n]->samples);
gst_caps_free (qtdemux->streams[n]->caps);
g_free (qtdemux->streams[n]);
}
qtdemux->n_streams = 0;
break;
}
case GST_STATE_READY_TO_NULL:
break;
default:
......@@ -628,6 +638,9 @@ gst_qtdemux_loop_header (GstElement * element)
qtdemux_node_dump (qtdemux, qtdemux->moov_node);
}
qtdemux_parse_tree (qtdemux);
g_node_destroy (qtdemux->moov_node);
gst_buffer_unref (moov);
qtdemux->moov_node = NULL;
qtdemux->state = QTDEMUX_STATE_MOVIE;
break;
}
......@@ -2547,6 +2560,7 @@ gst_qtdemux_handle_esds (GstQTDemux * qtdemux, QtDemuxStream * stream,
gst_caps_set_simple (stream->caps, "codec_data", GST_TYPE_BUFFER,
buffer, NULL);
gst_buffer_unref (buffer);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment