diff options
author | Uoti Urpala <uau@mplayer2.org> | 2012-08-25 21:22:39 +0300 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-09-18 21:04:46 +0200 |
commit | 89a57148934ec7f150a6170ac1313f6f5c636596 (patch) | |
tree | acff6dbda4ea8623ea4ce4d86834fe74f015653e /sub/sub.c | |
parent | 9bb03b7db40408b9dc4a0e1405a5bac754893e2b (diff) | |
download | mpv-89a57148934ec7f150a6170ac1313f6f5c636596.tar.bz2 mpv-89a57148934ec7f150a6170ac1313f6f5c636596.tar.xz |
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
Diffstat (limited to 'sub/sub.c')
-rw-r--r-- | sub/sub.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -30,6 +30,7 @@ #include "osdep/timer.h" #include "talloc.h" +#include "options.h" #include "mplayer.h" #include "mp_msg.h" #include "libvo/video_out.h" @@ -170,6 +171,7 @@ static int osd_update_ext(struct osd_state *osd, int dxs, int dys, int left_border, int top_border, int right_border, int bottom_border, int orig_w, int orig_h) { + struct MPOpts *opts = osd->opts; mp_osd_obj_t* obj=vo_osd_list; int chg=0; @@ -190,7 +192,7 @@ static int osd_update_ext(struct osd_state *osd, int dxs, int dys, vo_update_text_progbar(osd, obj); break; case OSDTYPE_SPU: - if(sub_visibility && vo_spudec && spudec_visible(vo_spudec)){ + if (opts->sub_visibility && vo_spudec && spudec_visible(vo_spudec)){ vo_update_spudec_sub(osd, obj); obj->flags|=OSDFLAG_VISIBLE|OSDFLAG_CHANGED; } |