summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mkv.c
diff options
context:
space:
mode:
authormosu <mosu@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-24 06:28:45 +0000
committermosu <mosu@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-04-24 06:28:45 +0000
commit558f53de4bb36589d5da9897eab83d529e0e13f2 (patch)
treee1f154b81ed8b118fb9b1dfd98fe9a6fb1c359a1 /libmpdemux/demux_mkv.c
parent1275cbfc4ec6ea73bf05d941ce3de57a7e431d2a (diff)
downloadmpv-558f53de4bb36589d5da9897eab83d529e0e13f2.tar.bz2
mpv-558f53de4bb36589d5da9897eab83d529e0e13f2.tar.xz
Do not give bogus timestamps for laced packets with no default duration. Patch by Uoti Urpala ( uoti ! urpala () pp1 ! inet ! fi ).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18237 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_mkv.c')
-rw-r--r--libmpdemux/demux_mkv.c4
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);
}