From a603bf8d68b8700faa0008af09ccb653082f89de Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
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 dc61d6a2556..d92ac50714d 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 92f412105cc..3f74ed529b5 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);
-- 
GitLab