summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-07-07 19:24:22 +0200
committerwm4 <wm4@nowhere>2014-07-07 19:24:22 +0200
commit469ec23f852b97425c4d810ce030316c6efbdd35 (patch)
treefcb9fb31ae225d435bcae2dd832365da4e71b295
parent49813670219c3f1f3ab47835d407d355a6698174 (diff)
downloadmpv-469ec23f852b97425c4d810ce030316c6efbdd35.tar.bz2
mpv-469ec23f852b97425c4d810ce030316c6efbdd35.tar.xz
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.
-rw-r--r--demux/demux_disc.c3
1 files changed, 3 insertions, 0 deletions
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;