Mercurial > mplayer.hg
view osdep/timer-win2.c @ 17616:92431bc3d014
This patch removes mmap support because it doesn't have any benefit.
Directly accessing the sample buffer makes sense only when the samples
can be constructed in-place. When the samples are just copied from
another buffer (as is the case with libao2 drivers), the code to copy
those samples is just a reimplementation of snd_pcm_writei(), so we
could as well use that function.
Besides, the current mmap code does not work except in the most simple
cases: it claims to support non-interleaved and complex sample formats,
but treats them the same as interleaved formats and writes to the wrong
memory location.
author | cladisch |
---|---|
date | Mon, 13 Feb 2006 11:15:25 +0000 |
parents | f9755d9c479a |
children | 8df85ad26746 |
line wrap: on
line source
// Precise timer routines for WINDOWS #include <windows.h> #include <mmsystem.h> #include "timer.h" const char *timer_name = "Windows native"; // Returns current time in microseconds unsigned int GetTimer(){ return timeGetTime() * 1000; } // Returns current time in milliseconds unsigned int GetTimerMS(){ return timeGetTime() ; } int usec_sleep(int usec_delay){ // Sleep(0) won't sleep for one clocktick as the unix usleep // instead it will only make the thread ready // it may take some time until it actually starts to run again if(usec_delay<1000)usec_delay=1000; Sleep( usec_delay/1000); return 0; } static DWORD RelativeTime = 0; float GetRelativeTime(){ DWORD t, r; t = GetTimer(); r = t - RelativeTime; RelativeTime = t; return (float) r *0.000001F; } void InitTimer(){ GetRelativeTime(); }