summaryrefslogtreecommitdiffstats
path: root/sub/sub.c
diff options
context:
space:
mode:
authorUoti Urpala <uau@mplayer2.org>2012-08-25 21:22:39 +0300
committerwm4 <wm4@nowhere>2012-09-18 21:04:46 +0200
commit89a57148934ec7f150a6170ac1313f6f5c636596 (patch)
treeacff6dbda4ea8623ea4ce4d86834fe74f015653e /sub/sub.c
parent9bb03b7db40408b9dc4a0e1405a5bac754893e2b (diff)
downloadmpv-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.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sub/sub.c b/sub/sub.c
index 67413c936e..5b5920d23c 100644
--- a/sub/sub.c
+++ b/sub/sub.c
@@ -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;
}