diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c index 6d2a3480aa..124ebf1c95 100644 --- a/libmpdemux/demux_ts.c +++ b/libmpdemux/demux_ts.c @@ -3209,6 +3209,8 @@ static int demux_ts_control(demuxer_t *demuxer, int cmd, void *arg) if(sh_a) { + if(demuxer->audio->id != priv->ts.streams[i].id) + reset_fifos(priv, 1, 0, 0); demuxer->audio->id = priv->ts.streams[i].id; demuxer->audio->sh = sh_a; ds_free_packs(demuxer->audio);