diff options
Diffstat (limited to 'libmpdemux')
-rw-r--r-- | libmpdemux/demux_mkv.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libmpdemux/demux_mkv.c b/libmpdemux/demux_mkv.c index 5a3347be61..d503ab14ad 100644 --- a/libmpdemux/demux_mkv.c +++ b/libmpdemux/demux_mkv.c @@ -3143,6 +3143,10 @@ handle_block (demuxer_t *demuxer, uint8_t *block, uint64_t length, if (modified) free (buffer); dp->flags = (block_bref == 0 && block_fref == 0) ? 0x10 : 0; + /* If default_duration is 0, assume no pts value is known + * for packets after the first one (rather than all pts + * values being the same) */ + if (i == 0 || track->default_duration) dp->pts = mkv_d->last_pts + i * track->default_duration; ds_add_packet (ds, dp); } |