Commit 62706711 authored by Martin Storsjö's avatar Martin Storsjö

avutil: Add av_timegm as a public function

This is useful, since the normal timegm function isn't a standard
function (requiring _BSD_SOURCE or _SVID_SOURCE on glibc to
be visible, and not available on e.g. windows). The widely available
function mktime uses the local time zone, which requires ugly
workarounds to handle UTC time.
Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent 747283a0
...@@ -13,6 +13,9 @@ libavutil: 2011-04-18 ...@@ -13,6 +13,9 @@ libavutil: 2011-04-18
API changes, most recent first: API changes, most recent first:
2011-11-xx - xxxxxxx - lavu 51.16.0
Add av_timegm()
2011-11-06 - ba04ecf - lavu 51.14.0 2011-11-06 - ba04ecf - lavu 51.14.0
Add av_strcasecmp() and av_strncasecmp() to avstring.h. Add av_strcasecmp() and av_strncasecmp() to avstring.h.
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
#define LIBAVUTIL_VERSION_MAJOR 51 #define LIBAVUTIL_VERSION_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 15 #define LIBAVUTIL_VERSION_MINOR 16
#define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
......
...@@ -461,7 +461,7 @@ static const char *small_strptime(const char *p, const char *fmt, struct tm *dt) ...@@ -461,7 +461,7 @@ static const char *small_strptime(const char *p, const char *fmt, struct tm *dt)
} }
} }
static time_t mktimegm(struct tm *tm) time_t av_timegm(struct tm *tm)
{ {
time_t t; time_t t;
...@@ -582,7 +582,7 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration) ...@@ -582,7 +582,7 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration)
} else { } else {
dt.tm_isdst = -1; /* unknown */ dt.tm_isdst = -1; /* unknown */
if (is_utc) { if (is_utc) {
t = mktimegm(&dt); t = av_timegm(&dt);
} else { } else {
t = mktime(&dt); t = mktime(&dt);
} }
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
#ifndef AVUTIL_PARSEUTILS_H #ifndef AVUTIL_PARSEUTILS_H
#define AVUTIL_PARSEUTILS_H #define AVUTIL_PARSEUTILS_H
#include <time.h>
#include "rational.h" #include "rational.h"
/** /**
...@@ -114,4 +116,9 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration); ...@@ -114,4 +116,9 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration);
*/ */
int av_find_info_tag(char *arg, int arg_size, const char *tag1, const char *info); int av_find_info_tag(char *arg, int arg_size, const char *tag1, const char *info);
/**
* Convert the decomposed UTC time in tm to a time_t value.
*/
time_t av_timegm(struct tm *tm);
#endif /* AVUTIL_PARSEUTILS_H */ #endif /* AVUTIL_PARSEUTILS_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment