From 3563bbaabd5ef91346f574156cf3e892e46ecb8e Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 16 Oct 2008 09:51:28 +0000 Subject: [PATCH] gst/rtpmanager/gstrtpsession.c: Install event handler on the rtcp_src pad, make LATENCY event return Original commit message from CVS: * gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_event_send_rtcp_src), (create_send_rtcp_src): Install event handler on the rtcp_src pad, make LATENCY event return TRUE. --- gst/rtpmanager/gstrtpsession.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c index fdc4ea2e54..ec744a5bbb 100644 --- a/gst/rtpmanager/gstrtpsession.c +++ b/gst/rtpmanager/gstrtpsession.c @@ -1545,6 +1545,33 @@ gst_rtp_session_query_send_rtcp_src (GstPad * pad, GstQuery * query) return ret; } +static gboolean +gst_rtp_session_event_send_rtcp_src (GstPad * pad, GstEvent * event) +{ + GstRtpSession *rtpsession; + GstRtpSessionPrivate *priv; + gboolean ret = FALSE; + + rtpsession = GST_RTP_SESSION (gst_pad_get_parent (pad)); + priv = rtpsession->priv; + + GST_DEBUG_OBJECT (rtpsession, "received EVENT"); + + switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_LATENCY: + ret = TRUE; + break; + default: + /* other events simply fail for now */ + break; + } + + gst_object_unref (rtpsession); + + return ret; +} + + static gboolean gst_rtp_session_event_send_rtp_sink (GstPad * pad, GstEvent * event) { @@ -1872,6 +1899,8 @@ create_send_rtcp_src (GstRtpSession * rtpsession) gst_rtp_session_internal_links); gst_pad_set_query_function (rtpsession->send_rtcp_src, gst_rtp_session_query_send_rtcp_src); + gst_pad_set_event_function (rtpsession->send_rtcp_src, + gst_rtp_session_event_send_rtcp_src); gst_element_add_pad (GST_ELEMENT_CAST (rtpsession), rtpsession->send_rtcp_src); -- 2.34.1