mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
Fix the build with old glibc
The old systems don't support CLOCK_MONOTONIC although clock_gettime() API itself exists. This causes compile errors.
This commit is contained in:
parent
12944a024f
commit
91726ddf83
3 changed files with 6 additions and 2 deletions
|
|
@ -469,7 +469,7 @@ int snd_pcm_file_open(snd_pcm_t **pcmp, const char *name,
|
|||
pcm->poll_fd = slave->poll_fd;
|
||||
pcm->poll_events = slave->poll_events;
|
||||
pcm->mmap_shadow = 1;
|
||||
#ifdef HAVE_CLOCK_GETTIME
|
||||
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
|
||||
pcm->monotonic = clock_gettime(CLOCK_MONOTONIC, ×pec) == 0;
|
||||
#else
|
||||
pcm->monotonic = 0;
|
||||
|
|
|
|||
|
|
@ -994,7 +994,7 @@ int snd_pcm_hw_open_fd(snd_pcm_t **pcmp, const char *name,
|
|||
if (SNDRV_PROTOCOL_INCOMPATIBLE(ver, SNDRV_PCM_VERSION_MAX))
|
||||
return -SND_ERROR_INCOMPATIBLE_VERSION;
|
||||
|
||||
#ifdef HAVE_CLOCK_GETTIME
|
||||
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
|
||||
if (SNDRV_PROTOCOL_VERSION(2, 0, 9) <= ver) {
|
||||
struct timespec timespec;
|
||||
if (clock_gettime(CLOCK_MONOTONIC, ×pec) == 0) {
|
||||
|
|
|
|||
|
|
@ -944,13 +944,17 @@ typedef union snd_tmp_double {
|
|||
/* get the current timestamp */
|
||||
static inline void gettimestamp(snd_htimestamp_t *tstamp, int monotonic)
|
||||
{
|
||||
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
|
||||
if (monotonic) {
|
||||
clock_gettime(CLOCK_MONOTONIC, tstamp);
|
||||
} else {
|
||||
#endif
|
||||
struct timeval tv;
|
||||
|
||||
gettimeofday(&tv, 0);
|
||||
tstamp->tv_sec = tv.tv_sec;
|
||||
tstamp->tv_nsec = tv.tv_usec * 1000L;
|
||||
#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue