From 5f01c1258f98afce006488b65a5d7cf6cc9960f3 Mon Sep 17 00:00:00 2001
From: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Date: Sun, 22 Mar 2009 02:04:28 +0000
Subject: [PATCH] avoid creating a new stream not referenced in pmt since it
 cannot be associated to a program, fix issue 835

Originally committed as revision 18137 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/mpegts.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 33e618c058c..87c020a3979 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -857,14 +857,11 @@ static void mpegts_push_data(MpegTSFilter *filter,
                     pes->header[2] == 0x01) {
                     /* it must be an mpeg2 PES stream */
                     code = pes->header[3] | 0x100;
-                    if (!((code >= 0x1c0 && code <= 0x1df) ||
+                    if (!pes->st ||
+                        !((code >= 0x1c0 && code <= 0x1df) ||
                           (code >= 0x1e0 && code <= 0x1ef) ||
                           (code == 0x1bd) || (code == 0x1fd)))
                         goto skip;
-                    if (!pes->st) {
-                        /* allocate stream */
-                        new_pes_av_stream(pes, code);
-                    }
                     pes->state = MPEGTS_PESHEADER_FILL;
                     pes->total_size = AV_RB16(pes->header + 4);
                     /* NOTE: a zero total size means the PES size is
-- 
GitLab