diff options
Diffstat (limited to 'gst/rtpmanager/rtpsession.c')
-rw-r--r-- | gst/rtpmanager/rtpsession.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/gst/rtpmanager/rtpsession.c b/gst/rtpmanager/rtpsession.c index 5c52766e0..b8429a1a3 100644 --- a/gst/rtpmanager/rtpsession.c +++ b/gst/rtpmanager/rtpsession.c @@ -78,6 +78,7 @@ enum #define DEFAULT_RTP_PROFILE GST_RTP_PROFILE_AVP #define DEFAULT_RTCP_REDUCED_SIZE FALSE #define DEFAULT_RTCP_DISABLE_SR_TIMESTAMP FALSE +#define DEFAULT_TWCC_FEEDBACK_INTERVAL GST_CLOCK_TIME_NONE enum { @@ -103,7 +104,8 @@ enum PROP_STATS, PROP_RTP_PROFILE, PROP_RTCP_REDUCED_SIZE, - PROP_RTCP_DISABLE_SR_TIMESTAMP + PROP_RTCP_DISABLE_SR_TIMESTAMP, + PROP_TWCC_FEEDBACK_INTERVAL, }; /* update average packet size */ @@ -629,6 +631,23 @@ rtp_session_class_init (RTPSessionClass * klass) DEFAULT_RTCP_DISABLE_SR_TIMESTAMP, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + /** + * RTPSession::twcc-feedback-interval: + * + * The interval to send TWCC reports on. + * This overrides the default behavior of sending reports + * based on marker-bits. + * + * Since: 1.20 + */ + g_object_class_install_property (gobject_class, + PROP_TWCC_FEEDBACK_INTERVAL, + g_param_spec_uint64 ("twcc-feedback-interval", + "TWCC Feedback Interval", + "The interval to send TWCC reports on", + 0, G_MAXUINT64, DEFAULT_TWCC_FEEDBACK_INTERVAL, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + klass->get_source_by_ssrc = GST_DEBUG_FUNCPTR (rtp_session_get_source_by_ssrc); klass->send_rtcp = GST_DEBUG_FUNCPTR (rtp_session_send_rtcp); @@ -907,6 +926,10 @@ rtp_session_set_property (GObject * object, guint prop_id, case PROP_RTCP_DISABLE_SR_TIMESTAMP: sess->timestamp_sender_reports = !g_value_get_boolean (value); break; + case PROP_TWCC_FEEDBACK_INTERVAL: + rtp_twcc_manager_set_feedback_interval (sess->twcc, + g_value_get_uint64 (value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -989,6 +1012,10 @@ rtp_session_get_property (GObject * object, guint prop_id, case PROP_RTCP_DISABLE_SR_TIMESTAMP: g_value_set_boolean (value, !sess->timestamp_sender_reports); break; + case PROP_TWCC_FEEDBACK_INTERVAL: + g_value_set_uint64 (value, + rtp_twcc_manager_get_feedback_interval (sess->twcc)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; |