Original commit message from CVS:
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_event):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_newsegment),
(gst_mpeg_parse_send_event):
Ref events before sending them to multiple pads, after all
gst_pad_send_event() takes ownership of events. Don't leak
events that have not been handled (fixes #322745).
+2005-11-29 Michal Benes <michal dot benes at xeris dot cz>
+
+ Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
+
+ * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_event):
+ * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_send_newsegment),
+ (gst_mpeg_parse_send_event):
+ Ref events before sending them to multiple pads, after all
+ gst_pad_send_event() takes ownership of events. Don't leak
+ events that have not been handled (fixes #322745).
+
2005-11-28 Martin Soto <martinsoto@users.sourceforge.net>
* gst/mpegstream/gstdvddemux.c (gst_dvd_demux_handle_dvd_event)
-Subproject commit b0b08bcd66ca385364b6f90663585b09693aec67
+Subproject commit 33084fbe0531733bc02aa1d9de608206d5553a15
if (parent_class->send_event)
return parent_class->send_event (mpeg_parse, event, time);
+ else
+ gst_event_unref (event);
return TRUE;
}
return CLASS (mpeg_parse)->send_event (mpeg_parse, event, start_time);
}
+ gst_event_unref (event);
return FALSE;
}
while (TRUE) {
switch (gst_iterator_next (it, &pad)) {
case GST_ITERATOR_OK:
+ gst_event_ref (event);
gst_pad_push_event (GST_PAD (pad), event);
gst_object_unref (GST_OBJECT (pad));
break;
done:
gst_iterator_free (it);
+ gst_event_unref (event);
return ret;
}