mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 19:21:06 +00:00
rtpbin: Convert clock-base to extended RTP timestamp correctly
It's not in the same period as the current RTP base time but always in the very first period. This avoids using it again at a much later time. The code in question is only triggered with rtcp-sync=rtp-info. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6575>
This commit is contained in:
parent
bba6f097b1
commit
72c6cac8db
1 changed files with 2 additions and 3 deletions
|
@ -1593,13 +1593,12 @@ gst_rtp_bin_associate (GstRtpBin * bin, GstRtpBinStream * stream, guint8 len,
|
||||||
min = rtp_min = G_MAXINT64;
|
min = rtp_min = G_MAXINT64;
|
||||||
use_rtp = FALSE;
|
use_rtp = FALSE;
|
||||||
if (rtcp_sync == GST_RTP_BIN_RTCP_SYNC_RTP) {
|
if (rtcp_sync == GST_RTP_BIN_RTCP_SYNC_RTP) {
|
||||||
guint64 ext_base;
|
guint64 ext_base = -1;
|
||||||
|
|
||||||
use_rtp = TRUE;
|
use_rtp = TRUE;
|
||||||
/* signed version for convenience */
|
/* signed version for convenience */
|
||||||
clock_base = base_rtptime;
|
clock_base = base_rtptime;
|
||||||
/* deal with possible wrap-around */
|
/* convert to extended RTP time */
|
||||||
ext_base = base_rtptime;
|
|
||||||
rtp_clock_base = gst_rtp_buffer_ext_timestamp (&ext_base, rtp_clock_base);
|
rtp_clock_base = gst_rtp_buffer_ext_timestamp (&ext_base, rtp_clock_base);
|
||||||
/* sanity check; base rtp and provided clock_base should be close */
|
/* sanity check; base rtp and provided clock_base should be close */
|
||||||
if (rtp_clock_base >= clock_base) {
|
if (rtp_clock_base >= clock_base) {
|
||||||
|
|
Loading…
Reference in a new issue