From 05f4f00e24caf23646a2b551b8e1a1a1abe76de7 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 4 Oct 2012 17:16:36 +0200 Subject: 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. --- sub/sd_ass.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'sub/sd_ass.c') 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) return; - 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, ¶ms->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); } -- cgit v1.2.3