From a603bf8d68b8700faa0008af09ccb653082f89de Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 29 Jan 2005 02:27:33 +0000 Subject: [PATCH] dont predict missing timestamps if we lack the required information to do so Originally committed as revision 3898 to svn://svn.ffmpeg.org/ffmpeg/trunk --- ffmpeg.c | 2 +- libavformat/utils.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index dc61d6a255..d92ac50714 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1115,7 +1115,7 @@ static int output_packet(AVInputStream *ist, int ist_index, } else if (pkt->dts != AV_NOPTS_VALUE) { //FIXME seems redundant, as libavformat does this too ist->next_pts = ist->pts = pkt->dts; } else { - assert(ist->pts == ist->next_pts); +// assert(ist->pts == ist->next_pts); } if (pkt == NULL) { diff --git a/libavformat/utils.c b/libavformat/utils.c index 92f412105c..3f74ed529b 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -745,7 +745,7 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st, st->last_IP_pts= pkt->pts; /* cannot compute PTS if not present (we can compute it only by knowing the futur */ - } else { + } else if(pkt->pts != AV_NOPTS_VALUE || pkt->dts != AV_NOPTS_VALUE || pkt->duration){ if(pkt->pts != AV_NOPTS_VALUE && pkt->duration){ int64_t old_diff= ABS(st->cur_dts - pkt->duration - pkt->pts); int64_t new_diff= ABS(st->cur_dts - pkt->pts);