aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2010-11-25 00:29:44 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2010-11-25 00:29:44 +0000
commitb795ff97e5ae444ddf2277f66e29b30069170728 (patch)
tree1880eb5c15db6e194497ff1fdad974ce7f01a9d0 /libavformat
parent8ba5bf5a7c31604ed7b98ffc714898588bc5ccda (diff)
downloadffmpeg-b795ff97e5ae444ddf2277f66e29b30069170728.tar.gz
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
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/mpegts.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index d23dbeedd0..78c9d2f530 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