[FFmpeg-cvslog] mpegts: do not return from ff_mpegts_parse_packet() after having seen the first PMT
Laurent Aimar
git at videolan.org
Fri Nov 4 20:49:27 CET 2011
ffmpeg | branch: release/0.7 | Laurent Aimar <fenrir at videolan.org> | Sat Oct 8 23:40:41 2011 +0200| [cbfd34246cdddc58a627dd10fc563245601b2162] | committer: Michael Niedermayer
mpegts: do not return from ff_mpegts_parse_packet() after having seen the first PMT
It prevents leaving the AVPacket uninitialized.
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit bc38e83793be5f7a184c88be55e556453a25224b)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cbfd34246cdddc58a627dd10fc563245601b2162
---
libavformat/mpegts.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index da8f228..618bd8f 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -1862,10 +1862,8 @@ int ff_mpegts_parse_packet(MpegTSContext *ts, AVPacket *pkt,
len1 = len;
ts->pkt = pkt;
- ts->stop_parse = 0;
for(;;) {
- if (ts->stop_parse>0)
- break;
+ ts->stop_parse = 0;
if (len < TS_PACKET_SIZE)
return -1;
if (buf[0] != 0x47) {
@@ -1875,6 +1873,8 @@ int ff_mpegts_parse_packet(MpegTSContext *ts, AVPacket *pkt,
handle_packet(ts, buf);
buf += TS_PACKET_SIZE;
len -= TS_PACKET_SIZE;
+ if (ts->stop_parse == 1)
+ break;
}
}
return len1 - len;
More information about the ffmpeg-cvslog
mailing list