changeset 4781:5c5fe792bb66 libavformat

avoid creating a new stream not referenced in pmt since it cannot be associated to a program, fix issue 835
author bcoudurier
date Sun, 22 Mar 2009 02:04:28 +0000
parents 75d9edccd39c
children 400ca65902d2
files mpegts.c
diffstat 1 files changed, 2 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/mpegts.c	Sat Mar 21 23:29:34 2009 +0000
+++ b/mpegts.c	Sun Mar 22 02:04:28 2009 +0000
@@ -857,14 +857,11 @@
                     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