From ee104580c5b83e0fe697a66c2638b56d584c0081 Mon Sep 17 00:00:00 2001 From: Tobias Rapp Date: Thu, 7 Apr 2016 10:20:53 +0200 Subject: [PATCH] avfilter/vf_drawtext: add optional default value to metadata function Signed-off-by: Tobias Rapp --- doc/filters.texi | 7 ++++++- libavfilter/version.h | 2 +- libavfilter/vf_drawtext.c | 4 +++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index 712e70833c..0b80fd116a 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -6682,7 +6682,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 specifies the metadata key. + +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/version.h b/libavfilter/version.h index 0dbb7e5f10..4cb5a2e667 100644 --- a/libavfilter/version.h +++ b/libavfilter/version.h @@ -31,7 +31,7 @@ #define LIBAVFILTER_VERSION_MAJOR 6 #define LIBAVFILTER_VERSION_MINOR 41 -#define LIBAVFILTER_VERSION_MICRO 100 +#define LIBAVFILTER_VERSION_MICRO 101 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ LIBAVFILTER_VERSION_MINOR, \ diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c index 1ef3ecb31f..6b9af5b425 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 }, }; static int eval_function(AVFilterContext *ctx, AVBPrint *bp, char *fct,