mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 16:52:31 +00:00
vf_drawtext: do not reset "n" variable to 0 in case the filter is reinited
This commit is contained in:
parent
01fbcc6fd6
commit
80daa247d8
@ -96,6 +96,7 @@ enum var_name {
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
const AVClass *class;
|
const AVClass *class;
|
||||||
|
int reinit; ///< tells if the filter is being reinited
|
||||||
uint8_t *fontfile; ///< font to be used
|
uint8_t *fontfile; ///< font to be used
|
||||||
uint8_t *text; ///< text to be drawn
|
uint8_t *text; ///< text to be drawn
|
||||||
uint8_t *expanded_text; ///< used to contain the strftime()-expanded text
|
uint8_t *expanded_text; ///< used to contain the strftime()-expanded text
|
||||||
@ -469,7 +470,8 @@ static int config_input(AVFilterLink *inlink)
|
|||||||
dtext->var_values[VAR_VSUB] = 1<<pix_desc->log2_chroma_h;
|
dtext->var_values[VAR_VSUB] = 1<<pix_desc->log2_chroma_h;
|
||||||
dtext->var_values[VAR_X] = NAN;
|
dtext->var_values[VAR_X] = NAN;
|
||||||
dtext->var_values[VAR_Y] = NAN;
|
dtext->var_values[VAR_Y] = NAN;
|
||||||
dtext->var_values[VAR_N] = 0;
|
if (!dtext->reinit)
|
||||||
|
dtext->var_values[VAR_N] = 0;
|
||||||
dtext->var_values[VAR_T] = NAN;
|
dtext->var_values[VAR_T] = NAN;
|
||||||
|
|
||||||
if ((ret = av_expr_parse(&dtext->x_pexpr, dtext->x_expr, var_names,
|
if ((ret = av_expr_parse(&dtext->x_pexpr, dtext->x_expr, var_names,
|
||||||
@ -483,9 +485,12 @@ static int config_input(AVFilterLink *inlink)
|
|||||||
|
|
||||||
static int command(AVFilterContext *ctx, const char *cmd, const char *arg, char *res, int res_len, int flags)
|
static int command(AVFilterContext *ctx, const char *cmd, const char *arg, char *res, int res_len, int flags)
|
||||||
{
|
{
|
||||||
|
DrawTextContext *dtext = ctx->priv;
|
||||||
|
|
||||||
if(!strcmp(cmd, "reinit")){
|
if(!strcmp(cmd, "reinit")){
|
||||||
int ret;
|
int ret;
|
||||||
uninit(ctx);
|
uninit(ctx);
|
||||||
|
dtext->reinit = 1;
|
||||||
if((ret=init(ctx, arg, NULL)) < 0)
|
if((ret=init(ctx, arg, NULL)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
return config_input(ctx->inputs[0]);
|
return config_input(ctx->inputs[0]);
|
||||||
|
Loading…
Reference in New Issue
Block a user