summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSenthilnathan M <senthilnathan.maadasamy@gmail.com>2013-02-20 09:51:06 +0530
committerStefano Sabatini <stefasab@gmail.com>2013-02-22 23:43:46 +0100
commit12a269a5229d3a37be0743fc9655f743ebc44b6e (patch)
tree0294970f493da9d0fc4f798a9b016e809f5d864a
parent239b88c284af3025513e5cac6e318d1f9a9cdd71 (diff)
lavu/parseutils: allow MM:SS format for duration in av_parse_time()
Fix trac ticket #2258. Signed-off-by: Senthilnathan M <senthilnathan.maadasamy@gmail.com> Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
-rw-r--r--doc/syntax.texi2
-rw-r--r--libavutil/parseutils.c5
-rw-r--r--libavutil/parseutils.h2
-rw-r--r--libavutil/version.h2
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
@@ -588,6 +588,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);
if (q == p) /* the parsing didn't succeed */
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, \