summaryrefslogtreecommitdiff
path: root/libavformat/mpegts.c
diff options
context:
space:
mode:
authorJan Ekström <jeebjp@gmail.com>2020-08-13 00:27:09 +0300
committerJan Ekström <jeebjp@gmail.com>2020-08-18 22:29:22 +0300
commitc820c2d4bfb7e2573f7bf8e2a3544a98e5a11343 (patch)
treecb344dc2def84989b985f0d50e5b55587347817a /libavformat/mpegts.c
parente8a88a16f78e66c8d7645b5f71dc8390b033fa70 (diff)
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
Diffstat (limited to 'libavformat/mpegts.c')
-rw-r--r--libavformat/mpegts.c3
1 files changed, 2 insertions, 1 deletions
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 "