[FFmpeg-devel] [PATCH] Revert "avutil/timecode: fix sscanf format string with garbage at the end"

lance.lmwang at gmail.com lance.lmwang at gmail.com
Sun Jan 17 02:16:04 EET 2021


On Sat, Jan 16, 2021 at 09:49:42AM +0100, Marton Balint wrote:
> This reverts commit 6696a07ac62bfec49dd488510a719367918b9f7a.
> 
> It is wrong to restrict timecodes to always contain leading zeros or for hours
> or frames to be 2 chars only.
Sorry, I think I was misunderstood by the following syntax description:
syntax: hh:mm:ss[:;.]ff

maybe it's better to change it to hour:minute:second[:;.]frame? 

After revisiting the code, I think we may support more valid syntax for the timecode
string:
ss
ss[:;.]ff
mm:ss
mm:ss[:;.]ff
hh:mm:ss
hh:mm:ss[:;.]ff


> 
> Signed-off-by: Marton Balint <cus at passwd.hu>
> ---
>  libavutil/timecode.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavutil/timecode.c b/libavutil/timecode.c
> index 5106f642b9..c1fa445d31 100644
> --- a/libavutil/timecode.c
> +++ b/libavutil/timecode.c
> @@ -252,7 +252,7 @@ int av_timecode_init_from_string(AVTimecode *tc, AVRational rate, const char *st
>      char c;
>      int hh, mm, ss, ff, flags;
>  
> -    if (sscanf(str, "%02u:%02u:%02u%c%02u", &hh, &mm, &ss, &c, &ff) != 5) {
> +    if (sscanf(str, "%d:%d:%d%c%d", &hh, &mm, &ss, &c, &ff) != 5) {
>          av_log(log_ctx, AV_LOG_ERROR, "Unable to parse timecode, "
>                                        "syntax: hh:mm:ss[:;.]ff\n");
>          return AVERROR_INVALIDDATA;
> -- 
> 2.26.2
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".

-- 
Thanks,
Limin Wang


More information about the ffmpeg-devel mailing list