diff options
author | wm4 <wm4@nowhere> | 2014-07-07 19:24:22 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-07-07 19:24:22 +0200 |
commit | 469ec23f852b97425c4d810ce030316c6efbdd35 (patch) | |
tree | fcb9fb31ae225d435bcae2dd832365da4e71b295 /demux | |
parent | 49813670219c3f1f3ab47835d407d355a6698174 (diff) | |
download | mpv-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.
Diffstat (limited to 'demux')
-rw-r--r-- | demux/demux_disc.c | 3 |
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; |