diff --git a/libavformat/matroska.c b/libavformat/matroska.c index 548e84e29c..85232278cc 100644 --- a/libavformat/matroska.c +++ b/libavformat/matroska.c @@ -2593,6 +2593,7 @@ matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data, int size, pkt->pts = timecode; pkt->pos = pos; + pkt->duration = duration; if (matroska->tracks[track]->flags & MATROSKA_TRACK_REORDER) matroska_queue_packet_reordered(matroska, pkt, is_bframe); @@ -2692,14 +2693,6 @@ matroska_parse_blockgroup (MatroskaDemuxContext *matroska, duration, is_keyframe, is_bframe, &track, &pkt); - if (pkt) - { - if (duration != AV_NOPTS_VALUE) - pkt->duration = duration; - else if (track >= 0 && track < matroska->num_tracks) - pkt->duration = matroska->tracks[track]->default_duration; - } - return res; }