summaryrefslogtreecommitdiffstats
path: root/sub
diff options
context:
space:
mode:
authorUoti Urpala <uau@mplayer2.org>2011-08-08 05:59:23 +0300
committerUoti Urpala <uau@mplayer2.org>2011-08-08 05:59:23 +0300
commit9920d6465068cdef068eddba4cf51e75d89b65ba (patch)
treef7a58ee6ab523e9d8ce0643d61098b90b9363901 /sub
parentd843c9ca3844c36abbe77b12cb6ebfede5589126 (diff)
downloadmpv-9920d6465068cdef068eddba4cf51e75d89b65ba.tar.bz2
mpv-9920d6465068cdef068eddba4cf51e75d89b65ba.tar.xz
cleanup: move global ass_force_reload to struct osd_state
Diffstat (limited to 'sub')
-rw-r--r--sub/ass_mp.c19
-rw-r--r--sub/ass_mp.h5
-rw-r--r--sub/sub.h2
3 files changed, 12 insertions, 14 deletions
diff --git a/sub/ass_mp.c b/sub/ass_mp.c
index 9a7b89a1ed..94c17b83f0 100644
--- a/sub/ass_mp.c
+++ b/sub/ass_mp.c
@@ -316,16 +316,13 @@ ASS_Library *mp_ass_init(void)
return priv;
}
-int ass_force_reload = 0; // flag set if global ass-related settings were changed
-
-ASS_Image *mp_ass_render_frame(ASS_Renderer *priv, ASS_Track *track,
- long long now, int *detect_change)
+void mp_ass_reload_options(ASS_Renderer *priv, struct MPOpts *opts,
+ bool *need_reload)
{
- if (ass_force_reload) {
- ass_set_margins(priv, ass_top_margin, ass_bottom_margin, 0, 0);
- ass_set_use_margins(priv, ass_use_margins);
- ass_set_font_scale(priv, ass_font_scale);
- ass_force_reload = 0;
- }
- return ass_render_frame(priv, track, now, detect_change);
+ if (!*need_reload)
+ return;
+ ass_set_margins(priv, ass_top_margin, ass_bottom_margin, 0, 0);
+ ass_set_use_margins(priv, ass_use_margins);
+ ass_set_font_scale(priv, ass_font_scale);
+ *need_reload = false;
}
diff --git a/sub/ass_mp.h b/sub/ass_mp.h
index 0e60b71103..02c55c8a12 100644
--- a/sub/ass_mp.h
+++ b/sub/ass_mp.h
@@ -52,9 +52,8 @@ void mp_ass_configure(ASS_Renderer *priv, int w, int h, bool unscaled);
void mp_ass_configure_fonts(ASS_Renderer *priv);
ASS_Library *mp_ass_init(void);
-extern int ass_force_reload;
-ASS_Image *mp_ass_render_frame(ASS_Renderer *priv, ASS_Track *track,
- long long now, int *detect_change);
+void mp_ass_reload_options(ASS_Renderer *priv, struct MPOpts *opts,
+ bool *need_reload);
#else /* CONFIG_ASS */
diff --git a/sub/sub.h b/sub/sub.h
index 90a742f8e7..30a7919aa1 100644
--- a/sub/sub.h
+++ b/sub/sub.h
@@ -70,6 +70,8 @@ typedef struct mp_osd_obj_s {
struct osd_state {
struct ass_library *ass_library;
+ // flag to signal reinitialization due to ass-related option changes
+ bool ass_force_reload;
unsigned char osd_text[128];
struct font_desc *sub_font;
struct ass_track *ass_track;