Signed-off-by: Shiqi Zhu <hiccup...@gmail.com>
---
 libavformat/demux.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/libavformat/demux.c b/libavformat/demux.c
index e19b8b6473..74be509c8b 100644
--- a/libavformat/demux.c
+++ b/libavformat/demux.c
@@ -856,15 +856,16 @@ static void update_initial_timestamps(AVFormatContext *s, 
int stream_index,
 
     uint64_t shift;
 
-    if (sti->first_dts != AV_NOPTS_VALUE ||
-        dts           == AV_NOPTS_VALUE ||
+    if (sti->first_dts == AV_NOPTS_VALUE)
+        sti->first_dts = dts - (sti->cur_dts - RELATIVE_TS_BASE);
+
+    if (dts           == AV_NOPTS_VALUE ||
         sti->cur_dts   == AV_NOPTS_VALUE ||
         sti->cur_dts < INT_MIN + RELATIVE_TS_BASE ||
         dts  < INT_MIN + (sti->cur_dts - RELATIVE_TS_BASE) ||
         is_relative(dts))
         return;
 
-    sti->first_dts = dts - (sti->cur_dts - RELATIVE_TS_BASE);
     sti->cur_dts   = dts;
     shift          = (uint64_t)sti->first_dts - RELATIVE_TS_BASE;
 
-- 
2.34.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to