mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
rtpjitterbuffer: Set max-rtcp-rtp-sync-time to -1 (disabled)
There is generally no requirement to ignore RTCP SR if the RTP time of the SR differs a lot from the last received RTP packet. The mapping between RTP and NTP time stays valid until there was a stream reset, in which case we wouldn't use that information anyway. When using rtcp-sync-send-time=false the default of 1s difference can easily be exceeded, e.g. if encoding of the stream after capture adds more than 1s of latency. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6543>
This commit is contained in:
parent
95a0649945
commit
df8c29e340
4 changed files with 9 additions and 9 deletions
|
@ -17977,7 +17977,7 @@
|
||||||
"construct": false,
|
"construct": false,
|
||||||
"construct-only": false,
|
"construct-only": false,
|
||||||
"controllable": false,
|
"controllable": false,
|
||||||
"default": "1000",
|
"default": "-1",
|
||||||
"max": "2147483647",
|
"max": "2147483647",
|
||||||
"min": "-1",
|
"min": "-1",
|
||||||
"mutable": "null",
|
"mutable": "null",
|
||||||
|
@ -19025,7 +19025,7 @@
|
||||||
"construct": false,
|
"construct": false,
|
||||||
"construct-only": false,
|
"construct-only": false,
|
||||||
"controllable": false,
|
"controllable": false,
|
||||||
"default": "1000",
|
"default": "-1",
|
||||||
"max": "2147483647",
|
"max": "2147483647",
|
||||||
"min": "-1",
|
"min": "-1",
|
||||||
"mutable": "null",
|
"mutable": "null",
|
||||||
|
@ -21768,7 +21768,7 @@
|
||||||
"construct": false,
|
"construct": false,
|
||||||
"construct-only": false,
|
"construct-only": false,
|
||||||
"controllable": false,
|
"controllable": false,
|
||||||
"default": "1000",
|
"default": "-1",
|
||||||
"max": "2147483647",
|
"max": "2147483647",
|
||||||
"min": "-1",
|
"min": "-1",
|
||||||
"mutable": "null",
|
"mutable": "null",
|
||||||
|
@ -29145,4 +29145,4 @@
|
||||||
"tracers": {},
|
"tracers": {},
|
||||||
"url": "Unknown package origin"
|
"url": "Unknown package origin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -347,7 +347,7 @@ enum
|
||||||
#define DEFAULT_RTP_PROFILE GST_RTP_PROFILE_AVP
|
#define DEFAULT_RTP_PROFILE GST_RTP_PROFILE_AVP
|
||||||
#define DEFAULT_NTP_TIME_SOURCE GST_RTP_NTP_TIME_SOURCE_NTP
|
#define DEFAULT_NTP_TIME_SOURCE GST_RTP_NTP_TIME_SOURCE_NTP
|
||||||
#define DEFAULT_RTCP_SYNC_SEND_TIME TRUE
|
#define DEFAULT_RTCP_SYNC_SEND_TIME TRUE
|
||||||
#define DEFAULT_MAX_RTCP_RTP_TIME_DIFF 1000
|
#define DEFAULT_MAX_RTCP_RTP_TIME_DIFF -1
|
||||||
#define DEFAULT_MAX_DROPOUT_TIME 60000
|
#define DEFAULT_MAX_DROPOUT_TIME 60000
|
||||||
#define DEFAULT_MAX_MISORDER_TIME 2000
|
#define DEFAULT_MAX_MISORDER_TIME 2000
|
||||||
#define DEFAULT_RFC7273_SYNC FALSE
|
#define DEFAULT_RFC7273_SYNC FALSE
|
||||||
|
|
|
@ -151,7 +151,7 @@ enum
|
||||||
#define DEFAULT_RTX_MAX_RETRIES -1
|
#define DEFAULT_RTX_MAX_RETRIES -1
|
||||||
#define DEFAULT_RTX_DEADLINE -1
|
#define DEFAULT_RTX_DEADLINE -1
|
||||||
#define DEFAULT_RTX_STATS_TIMEOUT 1000
|
#define DEFAULT_RTX_STATS_TIMEOUT 1000
|
||||||
#define DEFAULT_MAX_RTCP_RTP_TIME_DIFF 1000
|
#define DEFAULT_MAX_RTCP_RTP_TIME_DIFF -1
|
||||||
#define DEFAULT_MAX_DROPOUT_TIME 60000
|
#define DEFAULT_MAX_DROPOUT_TIME 60000
|
||||||
#define DEFAULT_MAX_MISORDER_TIME 2000
|
#define DEFAULT_MAX_MISORDER_TIME 2000
|
||||||
#define DEFAULT_RFC7273_SYNC FALSE
|
#define DEFAULT_RFC7273_SYNC FALSE
|
||||||
|
@ -4831,7 +4831,7 @@ do_handle_sync (GstRtpJitterBuffer * jitterbuffer)
|
||||||
if (ext_rtptime > last_rtptime) {
|
if (ext_rtptime > last_rtptime) {
|
||||||
/* check how far ahead it is to our RTP timestamps */
|
/* check how far ahead it is to our RTP timestamps */
|
||||||
diff = ext_rtptime - last_rtptime;
|
diff = ext_rtptime - last_rtptime;
|
||||||
/* if bigger than 1 second, we drop it */
|
/* if bigger than configured maximum difference then we drop it */
|
||||||
if (jitterbuffer->priv->max_rtcp_rtp_time_diff != -1 &&
|
if (jitterbuffer->priv->max_rtcp_rtp_time_diff != -1 &&
|
||||||
diff >
|
diff >
|
||||||
gst_util_uint64_scale (jitterbuffer->priv->max_rtcp_rtp_time_diff,
|
gst_util_uint64_scale (jitterbuffer->priv->max_rtcp_rtp_time_diff,
|
||||||
|
@ -4839,7 +4839,7 @@ do_handle_sync (GstRtpJitterBuffer * jitterbuffer)
|
||||||
GST_DEBUG_OBJECT (jitterbuffer, "too far ahead");
|
GST_DEBUG_OBJECT (jitterbuffer, "too far ahead");
|
||||||
/* should drop this, but some RTSP servers end up with bogus
|
/* should drop this, but some RTSP servers end up with bogus
|
||||||
* way too ahead RTCP packet when repeated PAUSE/PLAY,
|
* way too ahead RTCP packet when repeated PAUSE/PLAY,
|
||||||
* so still trigger rptbin sync but invalidate RTCP data
|
* so still trigger rtpbin sync but invalidate RTCP data
|
||||||
* (sync might use other methods) */
|
* (sync might use other methods) */
|
||||||
ext_rtptime = -1;
|
ext_rtptime = -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -302,7 +302,7 @@ gst_rtsp_backchannel_get_type (void)
|
||||||
#define DEFAULT_DO_RETRANSMISSION TRUE
|
#define DEFAULT_DO_RETRANSMISSION TRUE
|
||||||
#define DEFAULT_NTP_TIME_SOURCE NTP_TIME_SOURCE_NTP
|
#define DEFAULT_NTP_TIME_SOURCE NTP_TIME_SOURCE_NTP
|
||||||
#define DEFAULT_USER_AGENT "GStreamer/{VERSION}"
|
#define DEFAULT_USER_AGENT "GStreamer/{VERSION}"
|
||||||
#define DEFAULT_MAX_RTCP_RTP_TIME_DIFF 1000
|
#define DEFAULT_MAX_RTCP_RTP_TIME_DIFF -1
|
||||||
#define DEFAULT_RFC7273_SYNC FALSE
|
#define DEFAULT_RFC7273_SYNC FALSE
|
||||||
#define DEFAULT_ADD_REFERENCE_TIMESTAMP_META FALSE
|
#define DEFAULT_ADD_REFERENCE_TIMESTAMP_META FALSE
|
||||||
#define DEFAULT_MAX_TS_OFFSET_ADJUSTMENT G_GUINT64_CONSTANT(0)
|
#define DEFAULT_MAX_TS_OFFSET_ADJUSTMENT G_GUINT64_CONSTANT(0)
|
||||||
|
|
Loading…
Reference in a new issue