GstCaps * caps);
static GstFlowReturn gst_rtp_mp4v_pay_handle_buffer (GstBaseRTPPayload *
payload, GstBuffer * buffer);
-static gboolean gst_rtp_mp4v_pay_event (GstPad * pad, GstEvent * event);
+static gboolean gst_rtp_mp4v_pay_handle_event (GstPad * pad, GstEvent * event);
GST_BOILERPLATE (GstRtpMP4VPay, gst_rtp_mp4v_pay, GstBaseRTPPayload,
GST_TYPE_BASE_RTP_PAYLOAD)
gstbasertppayload_class->set_caps = gst_rtp_mp4v_pay_setcaps;
gstbasertppayload_class->handle_buffer = gst_rtp_mp4v_pay_handle_buffer;
+ gstbasertppayload_class->handle_event = gst_rtp_mp4v_pay_handle_event;
GST_DEBUG_CATEGORY_INIT (rtpmp4vpay_debug, "rtpmp4vpay", 0,
"MP4 video RTP Payloader");
rtpmp4vpay->config = NULL;
sinkpad = GST_BASE_RTP_PAYLOAD_SINKPAD (rtpmp4vpay);
-
- rtpmp4vpay->old_event_func = sinkpad->eventfunc;
- gst_pad_set_event_function (sinkpad, gst_rtp_mp4v_pay_event);
}
static void
}
static gboolean
-gst_rtp_mp4v_pay_event (GstPad * pad, GstEvent * event)
+gst_rtp_mp4v_pay_handle_event (GstPad * pad, GstEvent * event)
{
GstRtpMP4VPay *rtpmp4vpay;
- gboolean ret;
rtpmp4vpay = GST_RTP_MP4V_PAY (gst_pad_get_parent (pad));
break;
}
- ret = rtpmp4vpay->old_event_func (pad, event);
-
g_object_unref (rtpmp4vpay);
- return ret;
+ /* let parent handle event too */
+ return FALSE;
}
static void