Skip to content

Commit c80c1d0

Browse files
committed
basertpendpoint: Improve detection of invalid pts values
Change-Id: I26a8bcd781c611c4388aecca89311ec761c24c17
1 parent c24f32e commit c80c1d0

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/gst-plugins/commons/kmsbasertpendpoint.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1848,7 +1848,7 @@ kms_base_rtp_endpoint_update_sync_data (KmsBaseRtpEndpoint * self,
18481848

18491849
static GstClockTime
18501850
kms_base_rtp_endpoint_calculate_new_pts (KmsBaseRtpEndpoint * self,
1851-
SsrcSyncData * sync_data, GstClockTime buffer_pts)
1851+
SsrcSyncData * sync_data, GstClockTime buffer_pts, GstClockTime buffer_dts)
18521852
{
18531853
GstClockTime pts, diff_ntpnstime, diff_rtptime, diff_rtpnstime;
18541854
gboolean wrapped_down, wrapped_up, is_lower;
@@ -1900,7 +1900,7 @@ kms_base_rtp_endpoint_calculate_new_pts (KmsBaseRtpEndpoint * self,
19001900
}
19011901
}
19021902

1903-
if (pts > (3 * buffer_pts)) {
1903+
if (pts > (buffer_dts + (JB_READY_VIDEO_LATENCY * GST_MSECOND * 2))) {
19041904
GST_WARNING_OBJECT (self, "Wrong calculated pts %" G_GUINT64_FORMAT
19051905
" . Using buffer pts %" G_GUINT64_FORMAT, pts, buffer_pts);
19061906
GST_WARNING_OBJECT (self, "Data used: base_sync_time %" G_GUINT64_FORMAT
@@ -1973,7 +1973,7 @@ timestamps_probe (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
19731973
// Perform bufffer synchronization
19741974
buff = gst_buffer_make_writable (buff);
19751975
GST_BUFFER_PTS (buff) = kms_base_rtp_endpoint_calculate_new_pts (self,
1976-
sync_data, buff->pts);
1976+
sync_data, buff->pts, buff->dts);
19771977
sync_data->last_ext_ts = sync_data->ext_ts;
19781978
}
19791979

0 commit comments

Comments
 (0)