From 679b5a86825830e5e165f3a782be87d704a340bb Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 2 Jan 2014 14:48:49 +0100 Subject: [PATCH] session: also push EOS event to RTCP srcpad --- gst/rtpmanager/gstrtpsession.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c index 6d83a39b34..0aeacf6c27 100644 --- a/gst/rtpmanager/gstrtpsession.c +++ b/gst/rtpmanager/gstrtpsession.c @@ -1496,6 +1496,27 @@ gst_rtp_session_event_recv_rtp_sink (GstPad * pad, GstObject * parent, ret = gst_pad_push_event (rtpsession->recv_rtp_src, event); break; } + case GST_EVENT_EOS: + { + GstPad *rtcp_src; + + ret = + gst_pad_push_event (rtpsession->recv_rtp_src, gst_event_ref (event)); + + GST_RTP_SESSION_LOCK (rtpsession); + if ((rtcp_src = rtpsession->send_rtcp_src)) + gst_object_ref (rtcp_src); + GST_RTP_SESSION_UNLOCK (rtpsession); + + if (rtcp_src) { + ret = gst_pad_push_event (rtcp_src, event); + gst_object_unref (rtcp_src); + } else { + gst_event_unref (event); + ret = TRUE; + } + break; + } default: ret = gst_pad_push_event (rtpsession->recv_rtp_src, event); break;