diff --git a/libavformat/matroska.c b/libavformat/matroska.c index bd34e81493..717d878a0e 100644 --- a/libavformat/matroska.c +++ b/libavformat/matroska.c @@ -2552,18 +2552,18 @@ matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data, int size, if (res == 0) { int real_v = matroska->tracks[track]->flags & MATROSKA_TRACK_REAL_V; + uint64_t timecode = AV_NOPTS_VALUE; + + if (cluster_time != (uint64_t)-1 && cluster_time + block_time >= 0) + timecode = cluster_time + block_time; + for (n = 0; n < laces; n++) { - uint64_t timecode = AV_NOPTS_VALUE; int slice, slices = 1; if (real_v) { slices = *data++ + 1; lace_size[n]--; } - if (cluster_time != (uint64_t)-1 && n == 0) { - if (cluster_time + block_time >= 0) - timecode = cluster_time + block_time; - } /* FIXME: duration */ for (slice=0; slice