From c820c2d4bfb7e2573f7bf8e2a3544a98e5a11343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= Date: Thu, 13 Aug 2020 00:27:09 +0300 Subject: [PATCH] avformat/mpegts: only reset timestamps to NOPTS for DVB teletext While having the possibility of non-NOPTS values that can suddenly jump in time due to adjustments to match PCR is not nice for DVB subtitles, apparently the parser for this format bases its behavior on whether the packets' timestamps are NOPTS or not. Thus while we can adjust timestamps, we should exclude DVB subtitles from the timestamp unsetting logic. Fixes #8844 --- libavformat/mpegts.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index f71f18a57d..50d4d5e9bc 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1343,7 +1343,8 @@ skip: } } - if (!pcr_found) { + if (pes->st->codecpar->codec_id == AV_CODEC_ID_DVB_TELETEXT && + !pcr_found) { av_log(pes->stream, AV_LOG_VERBOSE, "Forcing DTS/PTS to be unset for a " "non-trustworthy PES packet for PID %d as "