diff options
author | Janne Grunau <janne.grunau@collabora.co.uk> | 2011-01-04 13:51:21 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2011-01-04 13:51:55 +0000 |
commit | 9f02f693de1dbda6b0aeffe592672f861861b774 (patch) | |
tree | 603f109953fe6550ee2c4c0e58e9c19c6c57c413 /gst | |
parent | 3bb1d2937f2c4701268373842bd971fffbd93f4e (diff) | |
download | gstreamer-plugins-bad-9f02f693de1dbda6b0aeffe592672f861861b774.tar.gz |
dvbsuboverlay: fix two minor deinitialization memory leaks
Diffstat (limited to 'gst')
-rw-r--r-- | gst/dvbsuboverlay/dvb-sub.c | 5 | ||||
-rw-r--r-- | gst/dvbsuboverlay/gstdvbsuboverlay.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gst/dvbsuboverlay/dvb-sub.c b/gst/dvbsuboverlay/dvb-sub.c index eb6810658..435de92a8 100644 --- a/gst/dvbsuboverlay/dvb-sub.c +++ b/gst/dvbsuboverlay/dvb-sub.c @@ -1352,6 +1352,11 @@ dvb_sub_free (DvbSub * sub) /* TODO: Add deinitalization code here */ /* FIXME: Clear up region_list contents */ delete_state (sub); + while (sub->display_list) { + DVBSubRegionDisplay *tmp = sub->display_list->next; + g_slice_free (DVBSubRegionDisplay, sub->display_list); + sub->display_list = tmp; + } g_string_free (sub->pes_buffer, TRUE); g_slice_free (DvbSub, sub); } diff --git a/gst/dvbsuboverlay/gstdvbsuboverlay.c b/gst/dvbsuboverlay/gstdvbsuboverlay.c index ca6789a87..dc2b2d473 100644 --- a/gst/dvbsuboverlay/gstdvbsuboverlay.c +++ b/gst/dvbsuboverlay/gstdvbsuboverlay.c @@ -167,6 +167,10 @@ gst_dvbsub_overlay_flush_subtitles (GstDVBSubOverlay * render) dvb_subtitles_free (subs); } + if (render->current_subtitle) + dvb_subtitles_free (render->current_subtitle); + render->current_subtitle = NULL; + if (render->dvb_sub) dvb_sub_free (render->dvb_sub); @@ -251,6 +255,10 @@ gst_dvbsub_overlay_finalize (GObject * object) } g_queue_free (overlay->pending_subtitles); + if (overlay->current_subtitle) + dvb_subtitles_free (overlay->current_subtitle); + overlay->current_subtitle = NULL; + if (overlay->dvb_sub) dvb_sub_free (overlay->dvb_sub); |