diff options
author | wm4 <wm4@nowhere> | 2019-05-16 16:29:45 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2019-09-19 20:37:04 +0200 |
commit | 556e204a112ee286972e50d636dec8b46ca125d7 (patch) | |
tree | fb388c85c5ea1de9283ee1957bdd9e154a1d9d66 /player | |
parent | d7c7f80cc1cf5b6a8207a3954ccdc984316c0602 (diff) | |
download | mpv-556e204a112ee286972e50d636dec8b46ca125d7.tar.bz2 mpv-556e204a112ee286972e50d636dec8b46ca125d7.tar.xz |
player: add --demuxer-cache-wait option
Diffstat (limited to 'player')
-rw-r--r-- | player/loadfile.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/player/loadfile.c b/player/loadfile.c index fc3bb97a96..48813c80a0 100644 --- a/player/loadfile.c +++ b/player/loadfile.c @@ -1534,6 +1534,19 @@ static void play_current_file(struct MPContext *mpctx) goto terminate_playback; } + demux_start_prefetch(mpctx->demuxer); + + if (opts->demuxer_cache_wait) { + while (!mpctx->stop_play) { + struct demux_reader_state s; + demux_get_reader_state(mpctx->demuxer, &s); + if (s.idle) + break; + + mp_idle(mpctx); + } + } + double play_start_pts = get_play_start_pts(mpctx); if (play_start_pts != MP_NOPTS_VALUE) { /* |