osd: force alignment for OSD bar

Overwrite the alignment applied by the OSD style. Additionally, remove
the initialization of the Alignment field in create_ass_track(); the
value is always overwritten by mp_ass_set_style() later.

Fixes #1626.
This commit is contained in:
wm4 2015-02-24 14:40:06 +01:00
parent 9fbcb56bee
commit 53641a689d
1 changed files with 2 additions and 1 deletions

View File

@ -111,7 +111,6 @@ static void create_ass_track(struct osd_state *osd, struct osd_object *obj,
int sid = ass_alloc_style(track); int sid = ass_alloc_style(track);
track->default_style = sid; track->default_style = sid;
ASS_Style *style = track->styles + sid; ASS_Style *style = track->styles + sid;
style->Alignment = 5; // top-title, left
style->Name = strdup("OSD"); style->Name = strdup("OSD");
// Set to neutral base direction, as opposed to VSFilter LTR default // Set to neutral base direction, as opposed to VSFilter LTR default
style->Encoding = -1; style->Encoding = -1;
@ -317,6 +316,8 @@ static void get_osd_bar_box(struct osd_state *osd, struct osd_object *obj,
// Rendering with shadow is broken (because there's more than one shape) // Rendering with shadow is broken (because there's more than one shape)
style->Shadow = 0; style->Shadow = 0;
style->Alignment = 5;
*o_border = style->Outline; *o_border = style->Outline;
*o_x = get_align(opts->osd_bar_align_x, track->PlayResX, *o_w, *o_border); *o_x = get_align(opts->osd_bar_align_x, track->PlayResX, *o_w, *o_border);