1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-04-14 00:58:38 +02:00

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
This commit is contained in:
Baptiste Coudurier 2010-11-25 00:29:44 +00:00
parent 8ba5bf5a7c
commit b795ff97e5

View File

@ -1083,8 +1083,6 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
p = desc_list_end; p = desc_list_end;
} }
/* all parameters are there */
mpegts_close_filter(ts, filter);
out: out:
av_free(mp4_dec_config_descr); 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 */ /* NIT info */
} else { } else {
av_new_program(ts->stream, sid); 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); mpegts_open_section_filter(ts, pmt_pid, pmt_cb, ts, 1);
add_pat_entry(ts, sid); add_pat_entry(ts, sid);
add_pid_to_pmt(ts, sid, 0); //add pat pid to program add_pid_to_pmt(ts, sid, 0); //add pat pid to program