From 3cbd39e022c47cabd8dca1657ea79759bc6b4615 Mon Sep 17 00:00:00 2001 From: Tim-Philipp Müller Date: Mon, 21 Nov 2005 18:09:02 +0000 Subject: Update for stream lock API changes: don't take stream log in sink event handlers any longer and change GST_STREAM_LOC... Original commit message from CVS: * ext/dv/gstdvdemux.c: (gst_dvdemux_handle_sink_event): * ext/flac/gstflacdec.c: (gst_flacdec_loop), (gst_flacdec_src_event): * ext/flac/gstflacenc.c: (gst_flacenc_sink_event): * ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_event), (gst_signal_processor_getrange), (gst_signal_processor_chain): * gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek): * gst/flx/gstflxdec.c: (gst_flxdec_src_event_handler), (gst_flxdec_sink_event_handler): * gst/matroska/matroska-demux.c: (gst_matroska_demux_handle_seek_event): * gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek): Update for stream lock API changes: don't take stream log in sink event handlers any longer and change GST_STREAM_LOCK to GST_PAD_STREAM_LOCK. Don't leak references in flxdec event functions. --- gst/flx/gstflxdec.c | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'gst/flx') diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c index e3e4bcc8..0ca9fc48 100644 --- a/gst/flx/gstflxdec.c +++ b/gst/flx/gstflxdec.c @@ -176,32 +176,29 @@ static gboolean gst_flxdec_src_event_handler (GstPad * pad, GstEvent * event) { GstFlxDec *flxdec = (GstFlxDec *) gst_pad_get_parent (pad); - - g_return_val_if_fail (GST_IS_EVENT (event), FALSE); + gboolean ret; /* TODO: implement the seek and other event handling */ - return gst_pad_push_event (flxdec->sinkpad, event); + ret = gst_pad_push_event (flxdec->sinkpad, event); + + gst_object_unref (flxdec); + + return ret; } static gboolean gst_flxdec_sink_event_handler (GstPad * pad, GstEvent * event) { - GstFlxDec *flxdec = (GstFlxDec *) gst_pad_get_parent (pad); - - g_return_val_if_fail (GST_IS_EVENT (event), FALSE); - - if (GST_EVENT_TYPE (event) == GST_EVENT_EOS || - GST_EVENT_TYPE (event) == GST_EVENT_NEWSEGMENT) - GST_STREAM_LOCK (flxdec->srcpad); + GstFlxDec *flxdec; + gboolean ret; - gst_pad_push_event (flxdec->srcpad, gst_event_ref (event)); + flxdec = GST_FLXDEC (gst_pad_get_parent (pad)); - if (GST_EVENT_TYPE (event) == GST_EVENT_EOS || - GST_EVENT_TYPE (event) == GST_EVENT_NEWSEGMENT) - GST_STREAM_UNLOCK (flxdec->srcpad); + ret = gst_pad_push_event (flxdec->srcpad, event); - return TRUE; + gst_object_unref (flxdec); + return ret; } static void -- cgit