gst/rtpmanager/gstrtpsession.c: Install event handler on the rtcp_src pad, make LATEN...
authorWim Taymans <wim.taymans@gmail.com>
Thu, 16 Oct 2008 09:51:28 +0000 (09:51 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Thu, 16 Oct 2008 09:51:28 +0000 (09:51 +0000)
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.

ChangeLog
gst/rtpmanager/gstrtpsession.c

index ca84492..0dc30cd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * 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.
+
 2008-10-16  Edward Hervey  <edward.hervey@collabora.co.uk>
 
        * gst/mpegdemux/gstmpegdemux.c: (gst_flups_demux_send_data):
index fdc4ea2..ec744a5 100644 (file)
@@ -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);