From 12a269a5229d3a37be0743fc9655f743ebc44b6e Mon Sep 17 00:00:00 2001 From: Senthilnathan M Date: Wed, 20 Feb 2013 09:51:06 +0530 Subject: [PATCH] lavu/parseutils: allow MM:SS format for duration in av_parse_time() Fix trac ticket #2258. Signed-off-by: Senthilnathan M Signed-off-by: Stefano Sabatini --- doc/syntax.texi | 2 +- libavutil/parseutils.c | 5 +++++ libavutil/parseutils.h | 2 +- libavutil/version.h | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/syntax.texi b/doc/syntax.texi index 4dddc3cbc2..af22d6cefd 100644 --- a/doc/syntax.texi +++ b/doc/syntax.texi @@ -98,7 +98,7 @@ year-month-day. The accepted syntax is: @example -[-]HH:MM:SS[.m...] +[-][HH:]MM:SS[.m...] [-]S+[.m...] @end example diff --git a/libavutil/parseutils.c b/libavutil/parseutils.c index 73e400ac62..c67f971792 100644 --- a/libavutil/parseutils.c +++ b/libavutil/parseutils.c @@ -587,6 +587,11 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration) } /* parse timestr as HH:MM:SS */ q = av_small_strptime(p, "%J:%M:%S", &dt); + if (!q) { + /* parse timestr as MM:SS */ + q = av_small_strptime(p, "%M:%S", &dt); + dt.tm_hour = 0; + } if (!q) { /* parse timestr as S+ */ dt.tm_sec = strtol(p, (void *)&q, 10); diff --git a/libavutil/parseutils.h b/libavutil/parseutils.h index 1f56a7a7cc..80ba2b74fc 100644 --- a/libavutil/parseutils.h +++ b/libavutil/parseutils.h @@ -122,7 +122,7 @@ int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen, * year-month-day. * - If a duration the syntax is: * @code - * [-]HH:MM:SS[.m...]]] + * [-][HH:]MM:SS[.m...]]] * [-]S+[.m...] * @endcode * @param duration flag which tells how to interpret timestr, if not diff --git a/libavutil/version.h b/libavutil/version.h index 3b5c04dabe..5aca91de74 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -76,7 +76,7 @@ #define LIBAVUTIL_VERSION_MAJOR 52 #define LIBAVUTIL_VERSION_MINOR 17 -#define LIBAVUTIL_VERSION_MICRO 102 +#define LIBAVUTIL_VERSION_MICRO 103 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ LIBAVUTIL_VERSION_MINOR, \