path: root/sub/sd_ass.c
diff options
authorwm4 <wm4@nowhere>2012-10-04 17:16:36 +0200
committerwm4 <wm4@nowhere>2012-10-16 07:26:32 +0200
commit05f4f00e24caf23646a2b551b8e1a1a1abe76de7 (patch)
treef7f5684385025a9a7dfe22082209ddc266a3059b /sub/sd_ass.c
parent17f5019b468d5269408b7dae53a24e17426de7d5 (diff)
sub: cleanup: don't pass parameters via global variables
Passing parameters from caller to subtitle renderer was done by temporarily setting certain members in the osd_state struct (which for all practical purposes are as good as global variables). This was the only purpose of these members. Rather than using such a messy way to pass parameter, put these into a struct sub_render_params. The struct was already introduced in earlier commits, and this commit just removes the parameter passing hack.
Diffstat (limited to 'sub/sd_ass.c')
1 files changed, 6 insertions, 5 deletions
diff --git a/sub/sd_ass.c b/sub/sd_ass.c
index 8b8ad6c0eb..fca47c557b 100644
--- a/sub/sd_ass.c
+++ b/sub/sd_ass.c
@@ -127,21 +127,22 @@ static void decode(struct sh_sub *sh, struct osd_state *osd, void *data,
static void get_bitmaps(struct sh_sub *sh, struct osd_state *osd,
+ struct sub_render_params *params,
struct sub_bitmaps *res)
struct sd_ass_priv *ctx = sh->context;
struct MPOpts *opts = osd->opts;
- if (osd->sub_pts == MP_NOPTS_VALUE)
+ if (params->pts == MP_NOPTS_VALUE)
- double scale = osd->normal_scale;
+ double scale = params->normal_scale;
if (ctx->vsfilter_aspect && opts->ass_vsfilter_aspect_compat)
- scale = osd->vsfilter_scale;
+ scale = params->vsfilter_scale;
ASS_Renderer *renderer = osd->ass_renderer;
- mp_ass_configure(renderer, opts, &osd->dim);
+ mp_ass_configure(renderer, opts, &params->dim);
ass_set_aspect_ratio(renderer, scale, 1);
- mp_ass_render_frame(renderer, ctx->ass_track, osd->sub_pts * 1000 + .5,
+ mp_ass_render_frame(renderer, ctx->ass_track, params->pts * 1000 + .5,
&ctx->parts, res);
talloc_steal(ctx, ctx->parts);