[FFmpeg-devel] [PATCH] Allow MM:SS format for duration
Senthilnathan Maadasamy
senthilnathan.maadasamy at gmail.com
Thu Feb 21 21:39:57 CET 2013
On Fri, Feb 22, 2013 at 1:59 AM, Clément Bœsch <ubitux at gmail.com> wrote:
> On Fri, Feb 22, 2013 at 01:55:14AM +0530, Senthilnathan Maadasamy wrote:
> > > > Fixes ticket 2258
>
> > -[-]HH:MM:SS[.m...]
> > +[-][HH]:MM:SS[.m...]
> > [-]S+[.m...]
> > @end example
> >
>
> The ':' are supposed to be part of the [ ] scope AFAICT.
>
Fixed it.
> * [-]S+[.m...]
> > * @endcode
> > * @param duration flag which tells how to interpret timestr, if not
>
> BTW, using git format-patch is simpler for the commiter (since it contains
> the commit message, authorship etc. and can be applied and pushed
> directly.
Sorry about that. I used git format-patch but did not copy the whole
output. Below is the complete patch. Thanks for your comments.
>From 6ade27f3c2e497fe929ab28d0962b0c44eac8cec Mon Sep 17 00:00:00 2001
From: Senthilnathan M <senthilnathan.maadasamy at gmail.com>
Date: Wed, 20 Feb 2013 09:51:06 +0530
Subject: [PATCH] Allow MM:SS format for duration
Signed-off-by: Senthilnathan M <senthilnathan.maadasamy at gmail.com>
---
doc/syntax.texi | 2 +-
libavutil/parseutils.c | 5 +++++
libavutil/parseutils.h | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/doc/syntax.texi b/doc/syntax.texi
index 4dddc3c..af93c90 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 73e400a..c67f971 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 1f56a7a..b2cde51 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
--
1.7.9.5
More information about the ffmpeg-devel
mailing list