--- /dev/null
+From 1f48ee2290e9041b0371eb9a9cb742e9568930a1 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <elupus@ecce.se>
+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 <bernd.kuhls@t-online.de>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+---
+ 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
+