From 89a57148934ec7f150a6170ac1313f6f5c636596 Mon Sep 17 00:00:00 2001 From: Uoti Urpala Date: Sat, 25 Aug 2012 21:22:39 +0300 Subject: subs: always use sub decoder framework for libass rendering Remove subtitle selection code setting osd->ass_track directly and vf_ass/vf_vo code rendering the track directly with libass. Instead, do track selection and rendering with dec_sub.c functions. Before, mpctx->set_of_ass_tracks[] contained bare libass tracks generated from external subtitle files. For use with dec_sub.c, it now contains struct sh_sub instances with decoder already initialized. This commit breaks the sub_step command ('g' and 'y' keys) for libass-rendered subtitles. It could be fixed, but it's so useless - especially as with the existing implementation there's no practical way to get subtitle delay back to normal after using it - that I didn't bother. Conflicts: command.c mp_core.h mplayer.c --- sub/osd_libass.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sub/osd_libass.c') diff --git a/sub/osd_libass.c b/sub/osd_libass.c index 9f15173442..e770215ce6 100644 --- a/sub/osd_libass.c +++ b/sub/osd_libass.c @@ -331,9 +331,11 @@ void vo_update_text_progbar(struct osd_state *osd, mp_osd_obj_t* obj) void vo_update_text_sub(struct osd_state *osd, mp_osd_obj_t* obj) { + struct MPOpts *opts = osd->opts; + obj->flags |= OSDFLAG_CHANGED | OSDFLAG_VISIBLE; - if (!vo_sub || !sub_visibility) { + if (!vo_sub || !opts->sub_visibility) { obj->flags &= ~OSDFLAG_VISIBLE; return; } -- cgit v1.2.3