This avoids crashes seen when legitimate streams are found on PID 0x11 instead
of DVB SDT.
Fixes regression detailed in Roundup issue 138.
Originally committed as revision 11050 to svn://svn.ffmpeg.org/ffmpeg/trunk
case STREAM_TYPE_AUDIO_AC3:
case STREAM_TYPE_AUDIO_DTS:
case STREAM_TYPE_SUBTITLE_DVB:
- if(ts->pids[pid]){
- assert(ts->pids[pid]->type == MPEGTS_PES);
+ if(ts->pids[pid] && ts->pids[pid]->type == MPEGTS_PES){
pes= ts->pids[pid]->u.pes_filter.opaque;
st= pes->st;
}else{
+ if (ts->pids[pid]) mpegts_close_filter(ts, ts->pids[pid]); //wrongly added sdt filter probably
pes = add_pes_stream(ts, pid, pcr_pid, stream_type);
if (pes)
st = new_pes_av_stream(pes, 0);