From e46218975378a27a7859082c1baf59bfada97351 Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Mon, 11 Feb 2008 22:24:31 +0000 Subject: [MOVED FROM GST-P-FARSIGHT] Limit timestamp diff in case of a jump in the timestamps 20080211222431-4f0f6-726fc66403081533371f775954aab4c7b8fdc643.gz --- ext/mimic/gstmimdec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'ext') diff --git a/ext/mimic/gstmimdec.c b/ext/mimic/gstmimdec.c index 409858fa..4bb82086 100644 --- a/ext/mimic/gstmimdec.c +++ b/ext/mimic/gstmimdec.c @@ -288,7 +288,11 @@ gst_mimdec_chain (GstPad *pad, GstBuffer *in) } if (mimdec->last_ts != -1) { - mimdec->gst_timestamp += (mimdec->current_ts - mimdec->last_ts) * GST_MSECOND; + int diff = mimdec->current_ts - mimdec->last_ts; + if (diff < 0 || diff > 5000) { + diff = 1000; + } + mimdec->gst_timestamp += diff * GST_MSECOND; } GST_BUFFER_TIMESTAMP(out_buf) = mimdec->gst_timestamp; mimdec->last_ts = mimdec->current_ts; -- cgit v1.2.1