diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-07-08 22:51:16 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-07-08 22:52:39 +0200 |
commit | 7125b6ca90d4085832a0fa7e37f684181eb89094 (patch) | |
tree | 8fc1c3d07e3c0346689effc984000f1a2418d7f8 | |
parent | 2375b094734e95c031defb475b5492ac1b659391 (diff) | |
download | ffmpeg-streaming-7125b6ca90d4085832a0fa7e37f684181eb89094.zip ffmpeg-streaming-7125b6ca90d4085832a0fa7e37f684181eb89094.tar.gz |
avformat/segment: remove gettimeofday() use, remove sys/time.h
It causes portability issues, and would need ifdef hell if its kept
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/segment.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libavformat/segment.c b/libavformat/segment.c index f5e25a2..f8227d1 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -28,7 +28,6 @@ #include <float.h> #include <time.h> -#include <sys/time.h> #include "avformat.h" #include "internal.h" @@ -39,6 +38,7 @@ #include "libavutil/avstring.h" #include "libavutil/parseutils.h" #include "libavutil/mathematics.h" +#include "libavutil/time.h" #include "libavutil/timestamp.h" typedef struct SegmentListEntry { @@ -677,7 +677,6 @@ static int seg_write_packet(AVFormatContext *s, AVPacket *pkt) int start_frame = INT_MAX; int ret; struct tm ti; - struct timeval now; int64_t usecs; int64_t wrapped_val; @@ -689,13 +688,14 @@ static int seg_write_packet(AVFormatContext *s, AVPacket *pkt) seg->frames[seg->segment_count] : INT_MAX; } else { if (seg->use_clocktime) { - gettimeofday(&now, NULL); + int64_t avgt = av_gettime(); + time_t sec = avgt / 1000000; #if HAVE_LOCALTIME_R - localtime_r(&now.tv_sec, &ti); + localtime_r(&sec, &ti); #else - ti = *localtime(&now.tv_sec); + ti = *localtime(&sec); #endif - usecs = (int64_t)(ti.tm_hour*3600 + ti.tm_min*60 + ti.tm_sec) * 1000000 + now.tv_usec; + usecs = (int64_t)(ti.tm_hour*3600 + ti.tm_min*60 + ti.tm_sec) * 1000000 + (avgt % 1000000); wrapped_val = usecs % seg->time; if (seg->last_cut != usecs && wrapped_val < seg->last_val) { seg->cut_pending = 1; |