summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2020-11-15 00:31:11 +0100
committerMarton Balint <cus@passwd.hu>2020-11-19 21:22:07 +0100
commitbf19833ae26b054a111de79b5ab1681c00cd8d0a (patch)
tree13fdf1dabf5ee7773b051225b3cc1fce1fbc10b2 /libavformat
parent3871326910ee86e87114fd3e5d1b003ac14b195e (diff)
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. Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/mpegts.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 80d010db6c..a2003c6632 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -2355,7 +2355,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);