From 90b968a67a73473d615e2ee6135756573d0da6f2 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 26 Oct 2016 20:43:03 +0200 Subject: player: show subtitles on VO if --force-window is used If a VO is created, but no video is playing (i.e. --force-window is used), then until now no subtitles were shown. This is because VO subtitle display normally depends on video frame timing. If there are no video frames, there can be no subtitles. Change this and add some code to handle this situation specifically. Set a subtitle PTS manually and request VO redrawing manually, which gets the subtitles rendered somehow. This is kind of shaky. The subtitles are essentially sampled at arbitrary times (such as when new audio data is decoded and pushed to the AO, or on user interaction). To make a it slightly more consistent, force a completely arbitrary minimum FPS of 10. Other solutions (such as creating fake video) would be more intrusive or would require VO-level API changes. Fixes #3684. --- sub/osd_state.h | 1 + 1 file changed, 1 insertion(+) (limited to 'sub/osd_state.h') diff --git a/sub/osd_state.h b/sub/osd_state.h index fbccd85e70..cce415a1b9 100644 --- a/sub/osd_state.h +++ b/sub/osd_state.h @@ -67,6 +67,7 @@ struct osd_state { struct osd_object *objs[MAX_OSD_PARTS]; bool render_subs_in_filter; + double force_video_pts; bool want_redraw; bool want_redraw_notification; -- cgit v1.2.3