From 2b3a5105ff2f9d0b3bc8ca45f6d65d16750f400c Mon Sep 17 00:00:00 2001 From: cehoyos Date: Tue, 12 Jan 2010 23:03:03 +0000 Subject: Use double instead of float for pts. Patch by Dan Oscarsson, Dan D Oscarsson A tieto D com git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30298 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_ts.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'libmpdemux/demux_ts.c') diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c index af9e2109f4..00c39dd80b 100644 --- a/libmpdemux/demux_ts.c +++ b/libmpdemux/demux_ts.c @@ -97,7 +97,7 @@ typedef struct { unsigned char *start; uint16_t payload_size; es_stream_type_t type, subtype; - float pts, last_pts; + double pts, last_pts; int pid; char lang[4]; int last_cc; // last cc code (-1 if first packet) @@ -219,8 +219,8 @@ typedef struct { typedef struct { uint64_t size; float duration; - float first_pts; - float last_pts; + double first_pts; + double last_pts; } TS_stream_info; typedef struct { @@ -1255,7 +1255,7 @@ static int mp4_parse_sl_packet(pmt_t *pmt, uint8_t *buf, uint16_t packet_len, in return -1; } - pes_es->pts = (float) v / (float) sl->ts_resolution; + pes_es->pts = (double) v / (double) sl->ts_resolution; mp_msg(MSGT_DEMUXER,MSGL_DBG2, "CTS: %d bits, value: %"PRIu64"/%d = %.3f\n", sl->ts_len, v, sl->ts_resolution, pes_es->pts); } @@ -1398,7 +1398,7 @@ static int pes_parse2(unsigned char *buf, uint16_t packet_len, ES_stream_t *es, pts |= p[12] << 7 ; pts |= (p[13] & 0xFE) >> 1 ; - es->pts = pts / 90000.0f; + es->pts = pts / (double)90000.0f; } else es->pts = 0.0f; @@ -3277,8 +3277,8 @@ static void demux_seek_ts(demuxer_t *demuxer, float rel_seek_secs, float audio_d { if(sh_audio && !d_audio->eof && d_video->pts && d_audio->pts) { - float a_pts=d_audio->pts; - a_pts+=(ds_tell_pts(d_audio)-sh_audio->a_in_buffer_len)/(float)sh_audio->i_bps; + double a_pts=d_audio->pts; + a_pts+=(ds_tell_pts(d_audio)-sh_audio->a_in_buffer_len)/(double)sh_audio->i_bps; if(d_video->pts > a_pts) { skip_audio_frame(sh_audio); // sync audio -- cgit v1.2.3