提交 916bf03a 编写于 作者: A Aurelien Jacobs

move timecode calculation out of laces loop

Originally committed as revision 8359 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 c6fd617a
......@@ -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<slices; slice++) {
......@@ -2595,6 +2595,8 @@ matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data, int size,
matroska_queue_packet_reordered(matroska, pkt, is_bframe);
else
matroska_queue_packet(matroska, pkt);
timecode = AV_NOPTS_VALUE;
}
data += lace_size[n];
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册