Commit 69482984 authored by Ronald S. Bultje's avatar Ronald S. Bultje

Quickfix for wrong timestamps... No final solution yet

Original commit message from CVS:
Quickfix for wrong timestamps... No final solution yet
parent 5345dd61
......@@ -1652,6 +1652,8 @@ gst_matroska_demux_parse_blockgroup (GstMatroskaDemux *demux,
/* time (relative to cluster time) */
time = (* (gint16 *) data) * demux->time_scale;
/* I think this is mis-documented in the matroska sources, we should
* probably shift values (EBML-style) on this value... */
time = GINT16_FROM_BE (time);
data += 2; size -= 2;
flags = * (guint8 *) data;
......@@ -1734,9 +1736,12 @@ gst_matroska_demux_parse_blockgroup (GstMatroskaDemux *demux,
GST_BUFFER_SIZE (buf) - size,
lace_size[n]);
if (cluster_time != GST_CLOCK_TIME_NONE)
GST_BUFFER_TIMESTAMP (sub) = cluster_time + time;
if (cluster_time != GST_CLOCK_TIME_NONE) {
if (time < 0 && (-time) > cluster_time)
GST_BUFFER_TIMESTAMP (sub) = cluster_time;
else
GST_BUFFER_TIMESTAMP (sub) = cluster_time + time;
}
/* FIXME: duration */
gst_pad_push (demux->src[stream]->pad, GST_DATA (sub));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment