| 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); |