diff options
Diffstat (limited to 'libass')
-rw-r--r-- | libass/ass_mp.c | 12 | ||||
-rw-r--r-- | libass/ass_mp.h | 3 |
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 */ |