summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-23 21:18:30 +0000
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-01-23 21:18:30 +0000
commit00cce8eb303195eb779a5bedbe38d52d3adb61dd (patch)
tree76262c3cec52f428ade1f5aeb452570887400736 /libass
parent70fca90b2a6d3e2384d9898a2fdba5ee61f5d369 (diff)
downloadmpv-00cce8eb303195eb779a5bedbe38d52d3adb61dd.tar.bz2
mpv-00cce8eb303195eb779a5bedbe38d52d3adb61dd.tar.xz
Add global ass_force_reload flag.
If it is set, renderer is reconfigured before the next frame. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25841 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass')
-rw-r--r--libass/ass_mp.c12
-rw-r--r--libass/ass_mp.h3
2 files changed, 15 insertions, 0 deletions
diff --git a/libass/ass_mp.c b/libass/ass_mp.c
index a00f0cae66..b3b3963eef 100644
--- a/libass/ass_mp.c
+++ b/libass/ass_mp.c
@@ -259,3 +259,15 @@ ass_library_t* ass_init(void) {
free(path);
return priv;
}
+
+int ass_force_reload = 0; // flag set if global ass-related settings were changed
+
+ass_image_t* ass_mp_render_frame(ass_renderer_t *priv, ass_track_t* track, long long now, int* detect_change) {
+ 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);
+}
diff --git a/libass/ass_mp.h b/libass/ass_mp.h
index 1395b45f9d..47e3f2787a 100644
--- a/libass/ass_mp.h
+++ b/libass/ass_mp.h
@@ -50,4 +50,7 @@ typedef struct {
int changed;
} mp_eosd_images_t;
+extern int ass_force_reload;
+ass_image_t* ass_mp_render_frame(ass_renderer_t *priv, ass_track_t* track, long long now, int* detect_change);
+
#endif /* ASS_MP_H */