[FFmpeg-devel] [PATCH] avfilter/vf_drawtext: add optional default value to metadata function

Stefano Sabatini stefasab at gmail.com
Thu Apr 7 20:45:15 CEST 2016


On date Thursday 2016-04-07 12:32:47 +0200, Tobias Rapp encoded:
> Signed-off-by: Tobias Rapp <t.rapp at noa-archive.com>
> ---
>  doc/filters.texi          | 7 ++++++-
>  libavfilter/vf_drawtext.c | 4 +++-
>  2 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/doc/filters.texi b/doc/filters.texi
> index 592fc24..3675b13 100644
> --- a/doc/filters.texi
> +++ b/doc/filters.texi
> @@ -6499,7 +6499,12 @@ The time at which the filter is running, expressed in the local time zone.
>  It can accept an argument: a strftime() format string.
>  
>  @item metadata
> -Frame metadata. It must take one argument specifying metadata key.
> +Frame metadata. Takes one or two arguments.
> +

> +The first argument is mandatory and specifyies the metadata key.

specifies?

> +
> +The second argument is optional and specifies a default value, used when the
> +metadata key is not found or empty.
>  
>  @item n, frame_num
>  The frame number, starting from 0.
> diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c
> index 1ef3ecb..6b9af5b 100644
> --- a/libavfilter/vf_drawtext.c
> +++ b/libavfilter/vf_drawtext.c
> @@ -860,6 +860,8 @@ static int func_metadata(AVFilterContext *ctx, AVBPrint *bp,
>  
>      if (e && e->value)
>          av_bprintf(bp, "%s", e->value);
> +    else if (argc >= 2)
> +        av_bprintf(bp, "%s", argv[1]);
>      return 0;
>  }
>  
> @@ -975,7 +977,7 @@ static const struct drawtext_function {
>      { "localtime", 0, 1, 'L', func_strftime },
>      { "frame_num", 0, 0, 0,   func_frame_num },
>      { "n",         0, 0, 0,   func_frame_num },
> -    { "metadata",  1, 1, 0,   func_metadata },
> +    { "metadata",  1, 2, 0,   func_metadata },
>  };

LGTM, possibly with a micro bump, thanks.
-- 
FFmpeg = Furious & Freak Magic Perennial Evil Gigant


More information about the ffmpeg-devel mailing list