From c5777d7f533fad16eb3f608b18e9c94e06ab57f9 Mon Sep 17 00:00:00 2001 From: nicodvb Date: Wed, 3 May 2006 17:55:02 +0000 Subject: in read_mpeg_timestamp() cast int expression to uint64_t before shifting to avoid truncation of bits and to prevent propagation of bit 1 as sign bit in pts git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18381 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_mpg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libmpdemux/demux_mpg.c') diff --git a/libmpdemux/demux_mpg.c b/libmpdemux/demux_mpg.c index 33085e3544..1c5d430f4d 100644 --- a/libmpdemux/demux_mpg.c +++ b/libmpdemux/demux_mpg.c @@ -161,7 +161,7 @@ static unsigned long long read_mpeg_timestamp(stream_t *s,int c){ ++mpeg_pts_error; return 0; // invalid pts } - pts=(((c>>1)&7)<<30)|((d>>1)<<15)|(e>>1); + pts=(((uint64_t)((c>>1)&7))<<30)|((d>>1)<<15)|(e>>1); mp_dbg(MSGT_DEMUX,MSGL_DBG3,"{%d}",pts); return pts; } -- cgit v1.2.3