From b795ff97e5ae444ddf2277f66e29b30069170728 Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Thu, 25 Nov 2010 00:29:44 +0000 Subject: [PATCH] In TS demuxer, keep the pmt filter open to parse all pmt sections, based on patch by Stephen D'Angelo, SDAngelo at evertz dot com. Originally committed as revision 25822 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mpegts.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index d23dbee..78c9d2f 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -1083,8 +1083,6 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len p = desc_list_end; } - /* all parameters are there */ - mpegts_close_filter(ts, filter); out: av_free(mp4_dec_config_descr); } @@ -1122,6 +1120,8 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len /* NIT info */ } else { av_new_program(ts->stream, sid); + if (ts->pids[pmt_pid]) + mpegts_close_filter(ts, ts->pids[pmt_pid]); mpegts_open_section_filter(ts, pmt_pid, pmt_cb, ts, 1); add_pat_entry(ts, sid); add_pid_to_pmt(ts, sid, 0); //add pat pid to program -- 2.7.4