fixes for event handler changes
diff --git a/gst/audiofx/audiofxbasefirfilter.c b/gst/audiofx/audiofxbasefirfilter.c
index 633d29d..fa28d58 100644
--- a/gst/audiofx/audiofxbasefirfilter.c
+++ b/gst/audiofx/audiofxbasefirfilter.c
@@ -70,8 +70,8 @@
base, GstBuffer * inbuf, GstBuffer * outbuf);
static gboolean gst_audio_fx_base_fir_filter_start (GstBaseTransform * base);
static gboolean gst_audio_fx_base_fir_filter_stop (GstBaseTransform * base);
-static gboolean gst_audio_fx_base_fir_filter_event (GstBaseTransform * base,
- GstEvent * event);
+static gboolean gst_audio_fx_base_fir_filter_sink_event (GstBaseTransform *
+ base, GstEvent * event);
static gboolean gst_audio_fx_base_fir_filter_transform_size (GstBaseTransform *
base, GstPadDirection direction, GstCaps * caps, gsize size,
GstCaps * othercaps, gsize * othersize);
@@ -592,7 +592,8 @@
GST_DEBUG_FUNCPTR (gst_audio_fx_base_fir_filter_transform);
trans_class->start = GST_DEBUG_FUNCPTR (gst_audio_fx_base_fir_filter_start);
trans_class->stop = GST_DEBUG_FUNCPTR (gst_audio_fx_base_fir_filter_stop);
- trans_class->event = GST_DEBUG_FUNCPTR (gst_audio_fx_base_fir_filter_event);
+ trans_class->sink_event =
+ GST_DEBUG_FUNCPTR (gst_audio_fx_base_fir_filter_sink_event);
trans_class->transform_size =
GST_DEBUG_FUNCPTR (gst_audio_fx_base_fir_filter_transform_size);
filter_class->setup = GST_DEBUG_FUNCPTR (gst_audio_fx_base_fir_filter_setup);
@@ -1019,7 +1020,8 @@
}
static gboolean
-gst_audio_fx_base_fir_filter_event (GstBaseTransform * base, GstEvent * event)
+gst_audio_fx_base_fir_filter_sink_event (GstBaseTransform * base,
+ GstEvent * event)
{
GstAudioFXBaseFIRFilter *self = GST_AUDIO_FX_BASE_FIR_FILTER (base);
@@ -1035,7 +1037,7 @@
break;
}
- return GST_BASE_TRANSFORM_CLASS (parent_class)->event (base, event);
+ return GST_BASE_TRANSFORM_CLASS (parent_class)->sink_event (base, event);
}
void
diff --git a/gst/debugutils/gstnavseek.c b/gst/debugutils/gstnavseek.c
index 801cb25..a5d39b2 100644
--- a/gst/debugutils/gstnavseek.c
+++ b/gst/debugutils/gstnavseek.c
@@ -47,10 +47,12 @@
GST_PAD_ALWAYS,
GST_STATIC_CAPS_ANY);
-static gboolean gst_navseek_event (GstBaseTransform * trans, GstEvent * event);
+static gboolean gst_navseek_sink_event (GstBaseTransform * trans,
+ GstEvent * event);
static GstFlowReturn gst_navseek_transform_ip (GstBaseTransform * basetrans,
GstBuffer * buf);
-static gboolean gst_navseek_handle_src_event (GstPad * pad, GstEvent * event);
+static gboolean gst_navseek_src_event (GstBaseTransform * trans,
+ GstEvent * event);
static gboolean gst_navseek_stop (GstBaseTransform * trans);
static gboolean gst_navseek_start (GstBaseTransform * trans);
@@ -92,7 +94,8 @@
"Seek based on navigation keys left-right",
"Jan Schmidt <thaytan@mad.scientist.com>");
- gstbasetrans_class->event = GST_DEBUG_FUNCPTR (gst_navseek_event);
+ gstbasetrans_class->src_event = GST_DEBUG_FUNCPTR (gst_navseek_src_event);
+ gstbasetrans_class->sink_event = GST_DEBUG_FUNCPTR (gst_navseek_sink_event);
gstbasetrans_class->transform_ip =
GST_DEBUG_FUNCPTR (gst_navseek_transform_ip);
gstbasetrans_class->start = GST_DEBUG_FUNCPTR (gst_navseek_start);
@@ -102,9 +105,6 @@
static void
gst_navseek_init (GstNavSeek * navseek)
{
- gst_pad_set_event_function (GST_BASE_TRANSFORM (navseek)->srcpad,
- GST_DEBUG_FUNCPTR (gst_navseek_handle_src_event));
-
gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (navseek), TRUE);
navseek->seek_offset = 5.0;
@@ -208,17 +208,17 @@
}
static gboolean
-gst_navseek_handle_src_event (GstPad * pad, GstEvent * event)
+gst_navseek_src_event (GstBaseTransform * trans, GstEvent * event)
{
GstNavSeek *navseek;
gboolean ret = TRUE;
- navseek = GST_NAVSEEK (GST_PAD_PARENT (pad));
+ navseek = GST_NAVSEEK (trans);
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_NAVIGATION:
- /* Check for a keyup and convert left/right to a seek event */
{
+ /* Check for a keyup and convert left/right to a seek event */
const GstStructure *structure;
const gchar *event_type;
@@ -265,18 +265,14 @@
}
gst_event_unref (event);
event = NULL;
- }
break;
+ }
default:
break;
}
- if (event && GST_PAD_IS_LINKED (GST_BASE_TRANSFORM (navseek)->sinkpad)) {
- GstPad *peer_pad = gst_pad_get_peer (GST_BASE_TRANSFORM (navseek)->sinkpad);
-
- ret = gst_pad_send_event (peer_pad, event);
- gst_object_unref (peer_pad);
- }
+ if (event)
+ ret = GST_BASE_TRANSFORM_CLASS (parent_class)->src_event (trans, event);
return ret;
}
@@ -318,7 +314,7 @@
}
static gboolean
-gst_navseek_event (GstBaseTransform * trans, GstEvent * event)
+gst_navseek_sink_event (GstBaseTransform * trans, GstEvent * event)
{
GstNavSeek *navseek = GST_NAVSEEK (trans);
@@ -332,7 +328,7 @@
default:
break;
}
- return GST_BASE_TRANSFORM_CLASS (parent_class)->event (trans, event);
+ return GST_BASE_TRANSFORM_CLASS (parent_class)->sink_event (trans, event);
}
static GstFlowReturn
diff --git a/gst/debugutils/progressreport.c b/gst/debugutils/progressreport.c
index 37fb8b0..aa3d01b 100644
--- a/gst/debugutils/progressreport.c
+++ b/gst/debugutils/progressreport.c
@@ -107,7 +107,7 @@
static void gst_progress_report_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
-static gboolean gst_progress_report_event (GstBaseTransform * trans,
+static gboolean gst_progress_report_sink_event (GstBaseTransform * trans,
GstEvent * event);
static GstFlowReturn gst_progress_report_transform_ip (GstBaseTransform * trans,
GstBuffer * buf);
@@ -175,7 +175,8 @@
"Periodically query and report on processing progress",
"Jan Schmidt <thaytan@mad.scientist.com>");
- gstbasetrans_class->event = GST_DEBUG_FUNCPTR (gst_progress_report_event);
+ gstbasetrans_class->sink_event =
+ GST_DEBUG_FUNCPTR (gst_progress_report_sink_event);
gstbasetrans_class->transform_ip =
GST_DEBUG_FUNCPTR (gst_progress_report_transform_ip);
gstbasetrans_class->start = GST_DEBUG_FUNCPTR (gst_progress_report_start);
@@ -374,19 +375,25 @@
}
static gboolean
-gst_progress_report_event (GstBaseTransform * trans, GstEvent * event)
+gst_progress_report_sink_event (GstBaseTransform * trans, GstEvent * event)
{
GstProgressReport *filter;
filter = GST_PROGRESS_REPORT (trans);
- if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
- GTimeVal cur_time;
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_EOS:
+ {
+ GTimeVal cur_time;
- g_get_current_time (&cur_time);
- gst_progress_report_report (filter, cur_time, NULL);
+ g_get_current_time (&cur_time);
+ gst_progress_report_report (filter, cur_time, NULL);
+ break;
+ }
+ default:
+ break;
}
- return GST_BASE_TRANSFORM_CLASS (parent_class)->event (trans, event);
+ return GST_BASE_TRANSFORM_CLASS (parent_class)->sink_event (trans, event);
}
static GstFlowReturn