summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-02-24 14:36:14 +0100
committerDiogo Franco (Kovensky) <diogomfranco@gmail.com>2015-02-25 11:09:10 +0900
commite2895e9684c37b85220bcc98c2514088e8de0a8d (patch)
tree1fd1116ab9d868233982da0332f342a65a268542
parent83be06c0add51071764daacff1429b61de6ef503 (diff)
downloadmpv-e2895e9684c37b85220bcc98c2514088e8de0a8d.tar.bz2
mpv-e2895e9684c37b85220bcc98c2514088e8de0a8d.tar.xz
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)
-rw-r--r--sub/osd_libass.c19
1 files 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;