mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-08-29 20:56:12 +02:00
lavu/parseutils: accept %J for hours >= 24.
Allow to parse durations >= 24:00:00.
This commit is contained in:
parent
b61ba262a1
commit
86a2486812
@ -454,7 +454,8 @@ char *av_small_strptime(const char *p, const char *fmt, struct tm *dt)
|
||||
c = *fmt++;
|
||||
switch(c) {
|
||||
case 'H':
|
||||
val = date_get_num(&p, 0, 23, 2);
|
||||
case 'J':
|
||||
val = date_get_num(&p, 0, c == 'H' ? 23 : INT_MAX, 2);
|
||||
if (val == -1)
|
||||
return NULL;
|
||||
dt->tm_hour = val;
|
||||
@ -581,7 +582,7 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration)
|
||||
++p;
|
||||
}
|
||||
/* parse timestr as HH:MM:SS */
|
||||
q = av_small_strptime(p, time_fmt[0], &dt);
|
||||
q = av_small_strptime(p, "%J:%M:%S", &dt);
|
||||
if (!q) {
|
||||
/* parse timestr as S+ */
|
||||
dt.tm_sec = strtol(p, (void *)&q, 10);
|
||||
|
@ -141,6 +141,7 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration);
|
||||
* In particular it actually supports the parameters:
|
||||
* - %H: the hour as a decimal number, using a 24-hour clock, in the
|
||||
* range '00' through '23'
|
||||
* - %J: hours as a decimal number, in the range '0' through INT_MAX
|
||||
* - %M: the minute as a decimal number, using a 24-hour clock, in the
|
||||
* range '00' through '59'
|
||||
* - %S: the second as a decimal number, using a 24-hour clock, in the
|
||||
|
@ -76,7 +76,7 @@
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 52
|
||||
#define LIBAVUTIL_VERSION_MINOR 11
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
#define LIBAVUTIL_VERSION_MICRO 101
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
LIBAVUTIL_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user