From 5f01c1258f98afce006488b65a5d7cf6cc9960f3 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Sun, 22 Mar 2009 02:04:28 +0000 Subject: 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(-) (limited to 'libavformat') diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 33e618c058..87c020a397 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 -- cgit v1.2.3