summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorStefan Kost <ensonic@users.sourceforge.net>2007-09-10 06:49:32 +0000
committerStefan Kost <ensonic@users.sourceforge.net>2007-09-10 06:49:32 +0000
commit2d15f70302e00c62b53ae3dff9c13472c2c51ef1 (patch)
tree3d9012c85ed129b8f2f89100504b8e2cb7cde212 /gst
parentd1187f71207f4adfc6df1cec1bf4ed5fc09fc8c2 (diff)
gst/avi/gstavidemux.c: Plug a little leak. Little code cleanups.
Original commit message from CVS: * gst/avi/gstavidemux.c: Plug a little leak. Little code cleanups.
Diffstat (limited to 'gst')
-rw-r--r--gst/avi/gstavidemux.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index aa679bfc..2a1c907a 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -191,8 +191,8 @@ gst_avi_demux_init (GstAviDemux * avi)
gst_pad_set_activatepull_function (avi->sinkpad,
gst_avi_demux_sink_activate_pull);
gst_pad_set_activatepush_function (avi->sinkpad, gst_avi_demux_activate_push);
- gst_element_add_pad (GST_ELEMENT (avi), avi->sinkpad);
gst_pad_set_chain_function (avi->sinkpad, gst_avi_demux_chain);
+ gst_element_add_pad (GST_ELEMENT (avi), avi->sinkpad);
avi->adapter = gst_adapter_new ();
@@ -216,6 +216,8 @@ gst_avi_demux_reset (GstAviDemux * avi)
{
gint i;
+ GST_DEBUG ("AVI: reset");
+
for (i = 0; i < avi->num_streams; i++) {
g_free (avi->stream[i].strh);
g_free (avi->stream[i].strf.data);
@@ -252,9 +254,10 @@ gst_avi_demux_reset (GstAviDemux * avi)
g_free (avi->avih);
avi->avih = NULL;
- if (avi->seek_event)
+ if (avi->seek_event) {
gst_event_unref (avi->seek_event);
- avi->seek_event = NULL;
+ avi->seek_event = NULL;
+ }
if (avi->globaltags)
gst_tag_list_free (avi->globaltags);
@@ -1733,6 +1736,7 @@ gst_avi_demux_stream_index (GstAviDemux * avi,
GST_WARNING_OBJECT (avi, "skip LIST chunk, size %d",
(8 + ((size + 1) & ~1)));
offset += 8 + ((size + 1) & ~1);
+ gst_buffer_unref (buf);
res = gst_pad_pull_range (avi->sinkpad, offset, 8, &buf);
if (res != GST_FLOW_OK)
goto pull_failed;
@@ -2507,8 +2511,7 @@ gst_avi_demux_push_event (GstAviDemux * avi, GstEvent * event)
avi_stream_context *stream = &avi->stream[i];
if (stream->pad) {
- gst_event_ref (event);
- if (gst_pad_push_event (stream->pad, event))
+ if (gst_pad_push_event (stream->pad, gst_event_ref (event)))
result = TRUE;
}
}