diff options
Diffstat (limited to 'libmpcodecs/vf_vo.c')
-rw-r--r-- | libmpcodecs/vf_vo.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c index 8f2f541fb4..62ec64ef3f 100644 --- a/libmpcodecs/vf_vo.c +++ b/libmpcodecs/vf_vo.c @@ -175,12 +175,16 @@ static int control(struct vf_instance *vf, int request, void* data) ass_set_aspect_ratio(renderer, scale, 1); } - mp_ass_reload_options(renderer, vf->opts, &osd->ass_force_reload); + if (osd->ass_force_reload) { + mp_ass_reload_options(vf->priv->renderer_realaspect, vf->opts); + mp_ass_reload_options(vf->priv->renderer_vsfilter, vf->opts); + } images.imgs = ass_render_frame(renderer, osd->ass_track, (pts+sub_delay) * 1000 + .5, &images.changed); - if (!vf->priv->prev_visibility) + if (!vf->priv->prev_visibility || osd->ass_force_reload) images.changed = 2; + osd->ass_force_reload = false; vf->priv->prev_visibility = true; } else vf->priv->prev_visibility = false; |