summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-10-31 13:55:32 +0100
committerwm4 <wm4@nowhere>2016-10-31 13:55:32 +0100
commit8fad4b8eab77301a88274186afde06df13e1ee90 (patch)
treef3d01cfe027bc7044105883b6e61cafd3e417cca
parentbc77565838bb32074c4798b8e4bf2c912c93c525 (diff)
downloadmpv-8fad4b8eab77301a88274186afde06df13e1ee90.tar.bz2
mpv-8fad4b8eab77301a88274186afde06df13e1ee90.tar.xz
player: enable no-video subtitle display on coverart too
Coverart mode has the same issue as no-video mode, except that the video chain is fully active. It shows only 1 frame at the start, which would normally mean that only the subtitle at timestamp 0 is shown. Use the no-video subtitle rendering mode in this case instead. (This still doesn't handle subtitle display when playing cover-art without audio, or playing a single image. This is because there's nothing that will advance playback_pts.)
-rw-r--r--player/playloop.c2
-rw-r--r--player/sub.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/player/playloop.c b/player/playloop.c
index 2a4509ab95..f72994e8a9 100644
--- a/player/playloop.c
+++ b/player/playloop.c
@@ -1095,7 +1095,7 @@ void run_playloop(struct MPContext *mpctx)
handle_dummy_ticks(mpctx);
update_osd_msg(mpctx);
- if (!mpctx->vo_chain)
+ if (mpctx->video_status == STATUS_EOF)
update_subtitles(mpctx, mpctx->playback_pts);
handle_eof(mpctx);
diff --git a/player/sub.c b/player/sub.c
index 6abb4e3326..747eccef3e 100644
--- a/player/sub.c
+++ b/player/sub.c
@@ -115,7 +115,7 @@ static bool update_subtitle(struct MPContext *mpctx, double video_pts,
// Handle displaying subtitles on VO with no video being played. This is
// quite differently, because normally subtitles are redrawn on new video
// frames, using the video frames' timestamps.
- if (mpctx->video_out && !mpctx->vo_chain) {
+ if (mpctx->video_out && mpctx->video_status == STATUS_EOF) {
if (osd_get_force_video_pts(mpctx->osd) != video_pts) {
osd_set_force_video_pts(mpctx->osd, video_pts);
osd_query_and_reset_want_redraw(mpctx->osd);