From 1af510f8d54ddeb58f1c8e6db3f4fe45d21dd026 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Mon, 24 Sep 2007 10:53:37 +0000 Subject: Massive leak fixing, plus code cleanups. Original commit message from CVS: * ext/audioresample/gstaudioresample.c: * ext/x264/gstx264enc.c: * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstdvdspu.h: * gst/festival/gstfestival.c: * gst/h264parse/gsth264parse.c: * gst/mpegtsparse/mpegtspacketizer.c: * gst/mpegtsparse/mpegtsparse.c: * gst/multifile/gstmultifilesink.c: * gst/multifile/gstmultifilesrc.c: * gst/nuvdemux/gstnuvdemux.c: * sys/dshowsrcwrapper/gstdshowaudiosrc.c: * sys/dshowsrcwrapper/gstdshowvideosrc.c: * sys/vcd/vcdsrc.c: Massive leak fixing, plus code cleanups. --- gst/nuvdemux/gstnuvdemux.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'gst/nuvdemux') diff --git a/gst/nuvdemux/gstnuvdemux.c b/gst/nuvdemux/gstnuvdemux.c index 219a580a..20ba7538 100644 --- a/gst/nuvdemux/gstnuvdemux.c +++ b/gst/nuvdemux/gstnuvdemux.c @@ -802,11 +802,16 @@ gst_nuv_demux_sink_activate (GstPad * sinkpad) if (gst_pad_check_pull_range (sinkpad)) { nuv->mode = 0; - nuv->adapter = NULL; + if (nuv->adapter != NULL) { + gst_object_unref (nuv->adapter); + nuv->adapter = NULL; + } res = gst_pad_activate_pull (sinkpad, TRUE); } else { nuv->mode = 1; - nuv->adapter = gst_adapter_new (); + if (!nuv->adapter) { + nuv->adapter = gst_adapter_new (); + } res = gst_pad_activate_push (sinkpad, TRUE); } -- cgit v1.2.1