diff options
author | wm4 <wm4@nowhere> | 2018-01-06 17:19:11 +0100 |
---|---|---|
committer | Kevin Mitchell <kevmitch@gmail.com> | 2018-01-07 05:03:15 -0800 |
commit | 5103b5dc2cfeb6bc980139444e0fd0110f8d4111 (patch) | |
tree | f8fcc2c75cff69e2f46a4f56f313c4fd59768756 /player/playloop.c | |
parent | b71c8251b06bab3014de4aa56b50345de4f7f067 (diff) | |
download | mpv-5103b5dc2cfeb6bc980139444e0fd0110f8d4111.tar.bz2 mpv-5103b5dc2cfeb6bc980139444e0fd0110f8d4111.tar.xz |
player: handle audio playback restart in central playback start code
No idea why this wasn't done earlier. This makes playback start in audio
only tracks closer to video-only or video/audio restart. It has the
consequence that --cache-pause-initial now works for audio-only streams
too.
Diffstat (limited to 'player/playloop.c')
-rw-r--r-- | player/playloop.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/player/playloop.c b/player/playloop.c index 2e714823f9..3db5818773 100644 --- a/player/playloop.c +++ b/player/playloop.c @@ -976,7 +976,15 @@ static void handle_playback_restart(struct MPContext *mpctx) return; } + // Video needed, but not started yet -> wait. + if (mpctx->vo_chain && !mpctx->vo_chain->is_coverart && + mpctx->video_status <= STATUS_READY) + return; + + MP_VERBOSE(mpctx, "starting audio playback\n"); + mpctx->audio_status = STATUS_PLAYING; fill_audio_out_buffers(mpctx); // actually play prepared buffer + mp_wakeup_core(mpctx); } if (!mpctx->restart_complete) { |