2c2fd3c257
In the past xbmc delivered its own ffmpeg source code with specific patches to address bugs found during the use of xbmc. For Helix the ffmpeg source code was removed, Helix uses a vanilla ffmpeg source tarball and applies this patchset on top of it. Downloaded from https://github.com/xbmc/FFmpeg/compare/FFmpeg:release/2.5...release/2.5-xbmc.patch [Thomas: use individual patches instead.] Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
47 lines
1.3 KiB
Diff
47 lines
1.3 KiB
Diff
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
|
|
|