[MOVED FROM GST-P-FARSIGHT] Limit timestamp diff in case of a jump in the timestamps
authorYouness Alaoui <youness.alaoui@collabora.co.uk>
Mon, 11 Feb 2008 22:24:31 +0000 (22:24 +0000)
committerOlivier CrĂȘte <olivier.crete@collabora.co.uk>
Tue, 3 Mar 2009 19:34:05 +0000 (14:34 -0500)
20080211222431-4f0f6-726fc66403081533371f775954aab4c7b8fdc643.gz

ext/mimic/gstmimdec.c

index 409858f..4bb8208 100644 (file)
@@ -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;