[MOVED FROM GST-P-FARSIGHT] Reset the gst timestamp if the time different is too large
20080704215550-3e2dc-76eb3f600f2b977e916f7e1f654529ddaff06ac9.gz
This commit is contained in:
parent
9e7cada4a9
commit
7d52a6fc1a
@ -270,15 +270,17 @@ gst_mimdec_chain (GstPad *pad, GstBuffer *in)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GST_BUFFER_TIMESTAMP(out_buf) = mimdec->gst_timestamp;
|
||||||
|
|
||||||
if (mimdec->last_ts != -1) {
|
if (mimdec->last_ts != -1) {
|
||||||
int diff = mimdec->current_ts - mimdec->last_ts;
|
int diff = mimdec->current_ts - mimdec->last_ts;
|
||||||
if (diff < 0 || diff > 5000) {
|
if (diff < 0 || diff > 5000) {
|
||||||
diff = 1000;
|
diff = 1000;
|
||||||
|
mimdec->gst_timestamp = GST_CLOCK_TIME_NONE;
|
||||||
}
|
}
|
||||||
if (GST_CLOCK_TIME_IS_VALID (mimdec->gst_timestamp))
|
if (GST_CLOCK_TIME_IS_VALID (mimdec->gst_timestamp))
|
||||||
mimdec->gst_timestamp += diff * GST_MSECOND;
|
mimdec->gst_timestamp += diff * GST_MSECOND;
|
||||||
}
|
}
|
||||||
GST_BUFFER_TIMESTAMP(out_buf) = mimdec->gst_timestamp;
|
|
||||||
mimdec->last_ts = mimdec->current_ts;
|
mimdec->last_ts = mimdec->current_ts;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user