[FFmpeg-devel] [PATCH] lavu/timecode: clarify error msg for timecode_rate
Gyan Doshi
gyandoshi at gmail.com
Sun Nov 5 18:10:41 EET 2017
Prompted by an issue reported at StackExchange, patch changes error
message for timecode_rate values below 1.
The user-supplied value for timecode_rate in drawtext is rounded
to nearest integer. So, a supplied value of 0.49 or lower is rounded to
0. This throws a misleading error message which says "Timecode frame
rate must be specified". Changed message to account for values under one.
Also noted supported framerates for drop TC.
Regards,
Gyan
-------------- next part --------------
From ef152e77da4d1ea40d452b9cc86dcc51df1e20a7 Mon Sep 17 00:00:00 2001
From: Gyan Doshi <gyandoshi at gmail.com>
Date: Sun, 5 Nov 2017 21:29:22 +0530
Subject: [PATCH] lavu/timecode: clarify error msg for timecode_rate
The user-supplied value for timecode_rate in drawtext is rounded
to nearest integer. So, a supplied value of 0.49 or lower is rounded to 0.
This throws a misleading error message which says "Timecode frame rate must be
specified". Changed message to account for values under one.
Also noted supported framerates for drop TC.
---
doc/filters.texi | 4 +++-
libavutil/timecode.c | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/doc/filters.texi b/doc/filters.texi
index 6f6dfcff48..61e27fea6f 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -7365,7 +7365,9 @@ format. It can be used with or without text parameter. @var{timecode_rate}
option must be specified.
@item timecode_rate, rate, r
-Set the timecode frame rate (timecode only).
+Set the timecode frame rate (timecode only). Value will be rounded to nearest
+integer. Minimum value is "1".
+Drop-frame timecode is supported for frame rates 30 & 60.
@item tc24hmax
If set to 1, the output of the timecode option will wrap around at 24 hours.
diff --git a/libavutil/timecode.c b/libavutil/timecode.c
index c0c67c8478..e9d8504ee7 100644
--- a/libavutil/timecode.c
+++ b/libavutil/timecode.c
@@ -155,7 +155,7 @@ static int check_fps(int fps)
static int check_timecode(void *log_ctx, AVTimecode *tc)
{
if ((int)tc->fps <= 0) {
- av_log(log_ctx, AV_LOG_ERROR, "Timecode frame rate must be specified\n");
+ av_log(log_ctx, AV_LOG_ERROR, "Valid timecode frame rate must be specified. Minimum value is 1\n");
return AVERROR(EINVAL);
}
if ((tc->flags & AV_TIMECODE_FLAG_DROPFRAME) && tc->fps != 30 && tc->fps != 60) {
--
2.12.2.windows.2
More information about the ffmpeg-devel
mailing list