39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
|
From 3136f41e6db8189994a8e4f72eacc92b669776d1 Mon Sep 17 00:00:00 2001
|
||
|
From: Marton Balint <cus@passwd.hu>
|
||
|
Date: Sun, 15 Nov 2020 00:39:41 +0100
|
||
|
Subject: [PATCH] avformat/mpegts: make sure mpegts_read_header always stops at
|
||
|
the first pmt
|
||
|
|
||
|
mpegts_read_header stops parsing the file at the first PMT. However the check
|
||
|
that ensured this was wrong because streams can also be added before the first
|
||
|
PMT is received (e.g. EIT).
|
||
|
|
||
|
So let's make sure we are in the header reading phase by checking if ts->pkt is
|
||
|
unset instead of checking if the number of streams found so far is 0.
|
||
|
|
||
|
Downloaded from Kodi ffmpeg repo:
|
||
|
https://github.com/xbmc/FFmpeg/commit/3136f41e6db8189994a8e4f72eacc92b669776d1
|
||
|
|
||
|
Patch was committed upstream:
|
||
|
http://git.videolan.org/?p=ffmpeg.git;a=patch;h=ca55240b8c1fd4cfdb61f88fd2cb378d475d910a
|
||
|
|
||
|
Signed-off-by: Marton Balint <cus@passwd.hu>
|
||
|
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||
|
---
|
||
|
libavformat/mpegts.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
|
||
|
index c6fd3e1cef63..1da81a0fe62a 100644
|
||
|
--- a/libavformat/mpegts.c
|
||
|
+++ b/libavformat/mpegts.c
|
||
|
@@ -2352,7 +2352,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
||
|
goto out;
|
||
|
|
||
|
// stop parsing after pmt, we found header
|
||
|
- if (!ts->stream->nb_streams)
|
||
|
+ if (!ts->pkt)
|
||
|
ts->stop_parse = 2;
|
||
|
|
||
|
set_pmt_found(ts, h->id);
|