diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index bcee8826c2..bd6b64da90 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -975,7 +975,13 @@ static int mpegts_read_header(AVFormatContext *s, if (ts->nb_services <= 0) { /* no SDT found, we try to look at the PAT */ - + + /* First remove the SDT filters from each PID */ + int i; + for (i=0; i < NB_PID_MAX; i++) { + if (ts->pids[i]) + mpegts_close_filter(ts, ts->pids[i]); + } url_fseek(pb, pos, SEEK_SET); mpegts_scan_pat(ts);