From 469ec23f852b97425c4d810ce030316c6efbdd35 Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 7 Jul 2014 19:24:22 +0200 Subject: 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. --- demux/demux_disc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/demux/demux_disc.c b/demux/demux_disc.c index 97b756dfb3..9c3e33a935 100644 --- a/demux/demux_disc.c +++ b/demux/demux_disc.c @@ -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; -- cgit v1.2.3