From 1f48ee2290e9041b0371eb9a9cb742e9568930a1 Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Sun, 18 Sep 2011 19:16:34 +0200 Subject: [PATCH 05/13] Don't accept mpegts PMT that isn't current Patch part of the XBMC patch set for ffmpeg, downloaded from https://github.com/xbmc/FFmpeg/. Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- libavformat/mpegts.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 5dd28f1..9f85aed 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -572,6 +572,7 @@ typedef struct SectionHeader { uint8_t tid; uint16_t id; uint8_t version; + uint8_t current; uint8_t sec_num; uint8_t last_sec_num; } SectionHeader; @@ -643,6 +644,7 @@ static int parse_section_header(SectionHeader *h, val = get8(pp, p_end); if (val < 0) return val; + h->current = val & 0x1; h->version = (val >> 1) & 0x1f; val = get8(pp, p_end); if (val < 0) @@ -1968,6 +1970,8 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len return; if (ts->skip_changes) return; + if (!h->current) + return; ts->stream->ts_id = h->id; -- 2.1.0