summaryrefslogtreecommitdiff
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)
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