From df6f7b80c6fc76ae9aef684296e52ed4c8f69986 Mon Sep 17 00:00:00 2001 From: reimar Date: Tue, 12 Feb 2008 10:48:42 +0000 Subject: [PATCH] Change to always use MP_NOPTS_VALUE (instead of sometimes 0) for unknown pts. I did not see anything obvious that would break, it if it does it should be fixed properly once and for all. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25988 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demuxer.c | 5 ++--- libmpdemux/demuxer.h | 4 +--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index 8b6873602a..a8a342fc14 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -425,7 +425,7 @@ int ds_fill_buffer(demux_stream_t *ds){ ds->pos=p->pos; ds->dpos+=p->len; // !!! ++ds->pack_no; - if (p->pts != (correct_pts ? MP_NOPTS_VALUE : 0)) { + if (p->pts != MP_NOPTS_VALUE) { ds->pts=p->pts; ds->pts_bytes=0; } @@ -580,9 +580,8 @@ int ds_get_packet_pts(demux_stream_t *ds,unsigned char **start, double *pts) return -1; } } - // Should use MP_NOPTS_VALUE for "unknown pts" in the packets too // Return pts unless this read starts from the middle of a packet - if (!ds->buffer_pos && (correct_pts || ds->current->pts)) + if (!ds->buffer_pos) *pts = ds->current->pts; len=ds->buffer_size-ds->buffer_pos; *start = &ds->buffer[ds->buffer_pos]; diff --git a/libmpdemux/demuxer.h b/libmpdemux/demuxer.h index d640d0e807..08f7ad538e 100644 --- a/libmpdemux/demuxer.h +++ b/libmpdemux/demuxer.h @@ -228,9 +228,7 @@ static inline demux_packet_t* new_demux_packet(int len){ demux_packet_t* dp=(demux_packet_t*)malloc(sizeof(demux_packet_t)); dp->len=len; dp->next=NULL; - // still using 0 by default in case there is some code that uses 0 for both - // unknown and a valid pts value - dp->pts=correct_pts ? MP_NOPTS_VALUE : 0; + dp->pts=MP_NOPTS_VALUE; dp->endpts=MP_NOPTS_VALUE; dp->stream_pts = MP_NOPTS_VALUE; dp->pos=0;