diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2008-10-16 09:51:28 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2009-08-11 02:30:38 +0100 |
commit | 3563bbaabd5ef91346f574156cf3e892e46ecb8e (patch) | |
tree | 4af2ac084129b4281fc051c3acb7f37af2308f6a | |
parent | 3bebd53b6fcdf53d6d5fc5d2e7281c7e11fe8300 (diff) |
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.
-rw-r--r-- | gst/rtpmanager/gstrtpsession.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c index fdc4ea2e5..ec744a5bb 100644 --- a/gst/rtpmanager/gstrtpsession.c +++ b/gst/rtpmanager/gstrtpsession.c @@ -1546,6 +1546,33 @@ gst_rtp_session_query_send_rtcp_src (GstPad * pad, GstQuery * query) } 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) { GstRtpSession *rtpsession; @@ -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); |