From 8a51401ef61672335deec8d55dfd421c06887783 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 13 Mar 2006 15:49:08 +0000 Subject: close #333784 unref the result of gst_pad_get_parent() by: Christophe Fergeau. Original commit message from CVS: * ext/cairo/gsttextoverlay.c: (gst_text_overlay_setcaps): * ext/esd/esdmon.c: (gst_esdmon_get): * ext/flac/gstflactag.c: (gst_flac_tag_chain): * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_setcaps), (gst_gdk_pixbuf_sink_getcaps): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_getcaps), (gst_jpegenc_setcaps): * ext/jpeg/gstsmokedec.c: (gst_smokedec_chain): * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_getcaps), (gst_smokeenc_setcaps): * ext/libmng/gstmngdec.c: (gst_mngdec_sinklink), (gst_mngdec_src_getcaps): * ext/libmng/gstmngenc.c: (gst_mngenc_sinklink), (gst_mngenc_chain): * ext/libpng/gstpngenc.c: (gst_pngenc_setcaps): * ext/mikmod/gstmikmod.c: (gst_mikmod_srclink): * ext/speex/gstspeexdec.c: (speex_dec_convert), (speex_dec_src_event), (speex_dec_chain): * gst/avi/gstavimux.c: (gst_avimux_vidsinkconnect), (gst_avimux_audsinkconnect), (gst_avimux_handle_event): * gst/debug/negotiation.c: (gst_negotiation_getcaps), (gst_negotiation_pad_link), (gst_negotiation_chain): * gst/flx/gstflxdec.c: (gst_flxdec_src_query_handler), (gst_flxdec_chain): * gst/interleave/deinterleave.c: (deinterleave_sink_link), (deinterleave_chain): * gst/law/mulaw-encode.c: (mulawenc_setcaps): * gst/median/gstmedian.c: (gst_median_link): * gst/monoscope/gstmonoscope.c: (gst_monoscope_srcconnect), (gst_monoscope_chain): * gst/rtp/gstrtpL16pay.c: (gst_rtpL16pay_sinkconnect): * gst/wavenc/gstwavenc.c: (gst_wavenc_sink_setcaps): * sys/osxaudio/gstosxaudiosink.c: (gst_osxaudiosink_chain): * sys/osxaudio/gstosxaudiosrc.c: (gst_osxaudiosrc_get): close #333784 unref the result of gst_pad_get_parent() by: Christophe Fergeau. --- sys/osxaudio/gstosxaudiosink.c | 3 +++ sys/osxaudio/gstosxaudiosrc.c | 4 ++++ 2 files changed, 7 insertions(+) (limited to 'sys/osxaudio') diff --git a/sys/osxaudio/gstosxaudiosink.c b/sys/osxaudio/gstosxaudiosink.c index 2f4e27bc..433bd4d1 100644 --- a/sys/osxaudio/gstosxaudiosink.c +++ b/sys/osxaudio/gstosxaudiosink.c @@ -168,10 +168,12 @@ gst_osxaudiosink_chain (GstPad * pad, GstData * _data) switch (GST_EVENT_TYPE (event)) { case GST_EVENT_EOS: gst_pad_event_default (pad, event); + gst_object_unref (osxaudiosink); return; case GST_EVENT_DISCONTINUOUS: /* pass-through */ default: + gst_object_unref (osxaudiosink); gst_pad_event_default (pad, event); return; } @@ -189,6 +191,7 @@ gst_osxaudiosink_chain (GstPad * pad, GstData * _data) write_buffer (GST_OSXAUDIOELEMENT (osxaudiosink), data, to_write); } gst_buffer_unref (buf); + gst_object_unref (osxaudiosink); } static GstStateChangeReturn diff --git a/sys/osxaudio/gstosxaudiosrc.c b/sys/osxaudio/gstosxaudiosrc.c index 94877ef5..6d0331ca 100644 --- a/sys/osxaudio/gstosxaudiosrc.c +++ b/sys/osxaudio/gstosxaudiosrc.c @@ -159,11 +159,13 @@ gst_osxaudiosrc_get (GstPad * pad) if (readbytes < 0) { gst_buffer_unref (buf); GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL), GST_ERROR_SYSTEM); + gst_object_unref (src); return GST_DATA (gst_event_new (GST_EVENT_INTERRUPT)); } if (readbytes == 0) { gst_buffer_unref (buf); + gst_object_unref (src); return GST_DATA (gst_event_new (GST_EVENT_INTERRUPT)); } @@ -174,6 +176,8 @@ gst_osxaudiosrc_get (GstPad * pad) GST_DEBUG ("pushed buffer from soundcard of %ld bytes", readbytes); + gst_object_unref (src); + return GST_DATA (buf); } -- cgit