mirror of https://git.ffmpeg.org/ffmpeg.git
matroskadec: set default duration for simple block
When a normal Block is parsed, duration is initialized to AV_NOPTS_VALUE. If it is not changed, then the track's default duration is used. But for SimpleBlock, duration is initialized to 0 instead of AV_NOPTS_VALUE. This is due to the difference in how EBML_NEST vs EBML_PASS are processed. Setting duration to 0 leads eventually to wrongly estimate the frame duration in util.c Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
parent
5666a9f20c
commit
98a7d560b4
|
@ -1852,6 +1852,8 @@ static int matroska_parse_cluster(MatroskaDemuxContext *matroska)
|
|||
for (i=0; i<blocks_list->nb_elem; i++)
|
||||
if (blocks[i].bin.size > 0 && blocks[i].bin.data) {
|
||||
int is_keyframe = blocks[i].non_simple ? !blocks[i].reference : -1;
|
||||
if (!blocks[i].non_simple)
|
||||
blocks[i].duration = AV_NOPTS_VALUE;
|
||||
res=matroska_parse_block(matroska,
|
||||
blocks[i].bin.data, blocks[i].bin.size,
|
||||
blocks[i].bin.pos, cluster.timecode,
|
||||
|
|
Loading…
Reference in New Issue