demux_disc: flush slave demuxer packet queue on resync

Technically needed, but not strictly. It seems it works without in
practice, because demux_lavf.c reads exactly one packet for fill_buffer
call, so there are never packets queued.
This commit is contained in:
wm4 2014-07-07 19:24:22 +02:00
parent 4981367021
commit 469ec23f85
1 changed files with 3 additions and 0 deletions

View File

@ -320,6 +320,9 @@ static int d_control(demuxer_t *demuxer, int cmd, void *arg)
*(double *)arg = len;
return DEMUXER_CTRL_OK;
}
case DEMUXER_CTRL_RESYNC:
demux_flush(p->slave);
break; // relay to slave demuxer
case DEMUXER_CTRL_SWITCHED_TRACKS:
reselect_streams(demuxer);
return DEMUXER_CTRL_OK;