The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / ffmpeg / 0005-Don-t-accept-mpegts-PMT-that-isn-t-current.patch
diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/package/ffmpeg/0005-Don-t-accept-mpegts-PMT-that-isn-t-current.patch b/cirros-testvm/src-cirros/buildroot-2015.05/package/ffmpeg/0005-Don-t-accept-mpegts-PMT-that-isn-t-current.patch
new file mode 100644 (file)
index 0000000..feb58f7
--- /dev/null
@@ -0,0 +1,46 @@
+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
+