summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-01-22 10:28:52 +0100
committerSebastian Dröge <sebastian@centricular.com>2015-01-26 18:49:31 +0100
commitbc9111a03d4821568a9d0759a27983b7e0edf6c7 (patch)
tree92edc9dd571a0b54f0b234f77d02c08bd960a74e
parentbf10d33b9b95856aabbc12dfa7c5ede50a27b38c (diff)
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.
-rw-r--r--gst/rtpmanager/rtpsession.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c
index c8070f826..a216cd997 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)",