summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2008-10-16 09:51:28 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2009-08-11 02:30:38 +0100
commit3563bbaabd5ef91346f574156cf3e892e46ecb8e (patch)
tree4af2ac084129b4281fc051c3acb7f37af2308f6a
parent3bebd53b6fcdf53d6d5fc5d2e7281c7e11fe8300 (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.c29
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);