From: Limin Wang <lance.lmw...@gmail.com> Signed-off-by: Limin Wang <lance.lmw...@gmail.com> --- libavfilter/f_metadata.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/libavfilter/f_metadata.c b/libavfilter/f_metadata.c index 598257b..79515b7 100644 --- a/libavfilter/f_metadata.c +++ b/libavfilter/f_metadata.c @@ -31,6 +31,7 @@ #include "libavutil/internal.h" #include "libavutil/opt.h" #include "libavutil/timestamp.h" +#include "libavutil/bprint.h" #include "libavformat/avio.h" #include "avfilter.h" #include "audio.h" @@ -192,14 +193,20 @@ static void print_file(AVFilterContext *ctx, const char *msg, ...) { MetadataContext *s = ctx->priv; va_list argument_list; + AVBPrint buf; + av_bprint_init(&buf, 0, AV_BPRINT_SIZE_UNLIMITED); va_start(argument_list, msg); - if (msg) { - char buf[128]; - vsnprintf(buf, sizeof(buf), msg, argument_list); - avio_write(s->avio_context, buf, av_strnlen(buf, sizeof(buf))); - } + av_vbprintf(&buf, msg, argument_list); va_end(argument_list); + + if (!av_bprint_is_complete(&buf)) { + av_bprint_finalize(&buf, NULL); + av_log(ctx, AV_LOG_ERROR, "No memory for buf\n"); + return; + } + avio_write(s->avio_context, buf.str, buf.len); + av_bprint_finalize(&buf, NULL); } static av_cold int init(AVFilterContext *ctx) -- 1.8.3.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".