From e2895e9684c37b85220bcc98c2514088e8de0a8d Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 24 Feb 2015 14:36:14 +0100 Subject: osd: always reset style params There was some logic to set certain things on init only. Not sure why this was done (saving some cheap calculations?) - but since the next call would override these style settings by applying the usual subtitle style, I don't think this was intended. (cherry picked from commit 9fbcb56bee787b32be53cf240dd95b77d1a3921d) --- sub/osd_libass.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/sub/osd_libass.c b/sub/osd_libass.c index 573a373a06..6e61355a65 100644 --- a/sub/osd_libass.c +++ b/sub/osd_libass.c @@ -301,7 +301,6 @@ static void get_osd_bar_box(struct osd_state *osd, struct osd_object *obj, { struct MPOpts *opts = osd->opts; - bool new_track = !obj->osd_track; create_ass_track(osd, obj, 0, 0); ASS_Track *track = obj->osd_track; ASS_Style *style = track->styles + track->default_style; @@ -309,16 +308,14 @@ static void get_osd_bar_box(struct osd_state *osd, struct osd_object *obj, *o_w = track->PlayResX * (opts->osd_bar_w / 100.0); *o_h = track->PlayResY * (opts->osd_bar_h / 100.0); - if (new_track) { - float base_size = 0.03125; - style->Outline *= *o_h / track->PlayResY / base_size; - // So that the chapter marks have space between them - style->Outline = FFMIN(style->Outline, *o_h / 5.2); - // So that the border is not 0 - style->Outline = FFMAX(style->Outline, *o_h / 32.0); - // Rendering with shadow is broken (because there's more than one shape) - style->Shadow = 0; - } + float base_size = 0.03125; + style->Outline *= *o_h / track->PlayResY / base_size; + // So that the chapter marks have space between them + style->Outline = FFMIN(style->Outline, *o_h / 5.2); + // So that the border is not 0 + style->Outline = FFMAX(style->Outline, *o_h / 32.0); + // Rendering with shadow is broken (because there's more than one shape) + style->Shadow = 0; *o_border = style->Outline; -- cgit v1.2.3