summaryrefslogtreecommitdiffstats
path: root/gst/flx
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2005-11-21 18:09:02 +0000
committerTim-Philipp Müller <tim@centricular.net>2005-11-21 18:09:02 +0000
commit3cbd39e022c47cabd8dca1657ea79759bc6b4615 (patch)
tree5faf3e4a96c908dae92513c9d9fadcaaaa8f7b45 /gst/flx
parente594bf3649ed2daab507a9f79080ef3aaa484b52 (diff)
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.
Diffstat (limited to 'gst/flx')
-rw-r--r--gst/flx/gstflxdec.c27
1 files changed, 12 insertions, 15 deletions
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