In TS demuxer, create the AVStream during pmt parsing if the pes stream does not

yet have it, this can happen if the pes stream contain data but no pes header
has been encoutered yet.
Patch by Stephen D'Angelo, SDAngelo at evertz dot com.

Originally committed as revision 25823 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Stephen D'Angelo 2010-11-25 00:55:02 +00:00 committed by Baptiste Coudurier
parent b795ff97e5
commit c538eb51c6
1 changed files with 2 additions and 0 deletions

View File

@ -974,6 +974,8 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
/* now create ffmpeg stream */
if (ts->pids[pid] && ts->pids[pid]->type == MPEGTS_PES) {
pes = ts->pids[pid]->u.pes_filter.opaque;
if (!pes->st)
pes->st = av_new_stream(pes->stream, pes->pid);
st = pes->st;
} else {
if (ts->pids[pid]) mpegts_close_filter(ts, ts->pids[pid]); //wrongly added sdt filter probably