summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-02-19 12:35:07 +0200
committerSebastian Dröge <sebastian@centricular.com>2015-02-19 13:34:47 +0200
commit939a95d44b2cd52fce494521680a5d4bc5616666 (patch)
treec13d8e51a77ebb9b45afae15859b46394e049482
parent8e5a16e662f1417a60e9ef3263072491195cccff (diff)
rtpsession: Send initial events on sync_rtcp pad when using RTP/RTCP muxing
Otherwise we will just send buffers on the pad without any events beforehand and will get g_warnings() about that.
-rw-r--r--gst/rtpmanager/gstrtpsession.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gst/rtpmanager/gstrtpsession.c b/gst/rtpmanager/gstrtpsession.c
index 8c7306b48..3a968a545 100644
--- a/gst/rtpmanager/gstrtpsession.c
+++ b/gst/rtpmanager/gstrtpsession.c
@@ -1300,6 +1300,14 @@ gst_rtp_session_sync_rtcp (RTPSession * sess,
gst_object_ref (sync_src);
GST_RTP_SESSION_UNLOCK (rtpsession);
+ /* set rtcp caps on output pad, this happens
+ * when we receive RTCP muxed with RTP according
+ * to RFC5761. Otherwise we would have forwarded
+ * the events from the recv_rtcp_sink pad already
+ */
+ if (!gst_pad_has_current_caps (sync_src))
+ do_rtcp_events (rtpsession, sync_src);
+
GST_LOG_OBJECT (rtpsession, "sending Sync RTCP");
result = gst_pad_push (sync_src, buffer);
gst_object_unref (sync_src);