0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/osdep/timer-linux.c
Uoti Urpala d5c868325c Merge svn changes up to r26979
Most of the conflicts are trivial.

Conflicts:

	Makefile
	cfg-mplayer.h
	input/input.c
	libmenu/vf_menu.c
	libmpcodecs/dec_video.c
	libmpcodecs/vf_expand.c
	libmpcodecs/vf_vo.c
	libmpdemux/demux_mkv.c
	libmpdemux/demuxer.c
	libmpdemux/demuxer.h
	libvo/vo_directfb2.c
	libvo/vo_gl.c
	libvo/vo_winvidix.c
	libvo/vo_xv.c
	libvo/vo_xvidix.c
	libvo/vo_xvmc.c
	libvo/x11_common.c
	mplayer.c
	osdep/timer-linux.c
	stream/cache2.c
2008-06-04 08:10:48 +03:00

48 lines
970 B
C

// Precise timer routines for LINUX (C) LGB & A'rpi/ASTRAL
#include <unistd.h>
#ifdef __BEOS__
#define usleep(t) snooze(t)
#endif
#include <stdlib.h>
#include <time.h>
#include <sys/time.h>
#include "config.h"
const char timer_name[] =
#ifdef HAVE_NANOSLEEP
"nanosleep()";
#else
"usleep()";
#endif
int usec_sleep(int usec_delay)
{
#ifdef HAVE_NANOSLEEP
struct timespec ts;
ts.tv_sec = usec_delay / 1000000;
ts.tv_nsec = (usec_delay % 1000000) * 1000;
return nanosleep(&ts, NULL);
#else
return usleep(usec_delay);
#endif
}
// Returns current time in microseconds
unsigned int GetTimer(void){
struct timeval tv;
gettimeofday(&tv,NULL);
return tv.tv_sec * 1000000 + tv.tv_usec;
}
// Returns current time in milliseconds
unsigned int GetTimerMS(void){
struct timeval tv;
gettimeofday(&tv,NULL);
return tv.tv_sec * 1000 + tv.tv_usec / 1000;
}
// Initialize timer, must be called at least once at start
void InitTimer(void){
}