From bc9111a03d4821568a9d0759a27983b7e0edf6c7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 22 Jan 2015 10:28:52 +0100 Subject: [PATCH] rtpsession: Add new send-rtcp-full signal This indicates with a boolean return value if scheduling a new RTCP packet within the requested delay was possible. Otherwise it behaves exactly like send-rtcp. The only reason for adding a new signal is ABI compatibility. --- gst/rtpmanager/rtpsession.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index c8070f8..a216cd9 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -49,6 +49,7 @@ enum SIGNAL_ON_SENDING_RTCP, SIGNAL_ON_FEEDBACK_RTCP, SIGNAL_SEND_RTCP, + SIGNAL_SEND_RTCP_FULL, LAST_SIGNAL }; @@ -319,6 +320,26 @@ rtp_session_class_init (RTPSessionClass * klass) G_STRUCT_OFFSET (RTPSessionClass, send_rtcp), NULL, NULL, g_cclosure_marshal_generic, G_TYPE_NONE, 1, G_TYPE_UINT64); + /** + * RTPSession::send-rtcp-full: + * @session: the object which received the signal + * @max_delay: The maximum delay after which the feedback will not be useful + * anymore + * + * Requests that the #RTPSession initiate a new RTCP packet as soon as + * possible within the requested delay. + * + * Returns: TRUE if the new RTCP packet could be scheduled within the + * requested delay, FALSE otherwise. + * + * Since: 1.6 + */ + rtp_session_signals[SIGNAL_SEND_RTCP_FULL] = + g_signal_new ("send-rtcp-full", G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (RTPSessionClass, send_rtcp), NULL, NULL, + g_cclosure_marshal_generic, G_TYPE_BOOLEAN, 1, G_TYPE_UINT64); + g_object_class_install_property (gobject_class, PROP_INTERNAL_SSRC, g_param_spec_uint ("internal-ssrc", "Internal SSRC", "The internal SSRC used for the session (deprecated)", -- 2.7.4