mpegts: do not output known sized packet if an unbounded packet is already queued.
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Mon, 28 Feb 2011 00:19:50 +0000 (16:19 -0800)
committerAnton Khirnov <anton@khirnov.net>
Thu, 12 May 2011 11:04:58 +0000 (13:04 +0200)
Fix issue #2624.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
libavformat/mpegts.c

index cdefb84..e20d696 100644 (file)
@@ -802,7 +802,7 @@ static int mpegts_push_data(MpegTSFilter *filter,
              * a couple of seconds to milliseconds for properly muxed files.
              * total_size is the number of bytes following pes_packet_length
              * in the pes header, i.e. not counting the first 6 bytes */
-            if (pes->total_size < MAX_PES_PAYLOAD &&
+            if (!ts->stop_parse && pes->total_size < MAX_PES_PAYLOAD &&
                 pes->pes_header_size + pes->data_index == pes->total_size + 6) {
                 ts->stop_parse = 1;
                 new_pes_packet(pes, ts->pkt);