mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-05 13:30:00 -05:00
Clean up using gettimestamp()
Introduce a new local function gettimestamp() to get the current timestamp.
This commit is contained in:
parent
7379b061eb
commit
683c8bc4a2
8 changed files with 28 additions and 66 deletions
|
|
@ -141,10 +141,7 @@ static int snd_pcm_dsnoop_sync_ptr(snd_pcm_t *pcm)
|
|||
if (pcm->stop_threshold >= pcm->boundary) /* don't care */
|
||||
return 0;
|
||||
if ((avail = snd_pcm_mmap_capture_hw_avail(pcm)) >= pcm->stop_threshold) {
|
||||
struct timeval tv;
|
||||
gettimeofday(&tv, 0);
|
||||
dsnoop->trigger_tstamp.tv_sec = tv.tv_sec;
|
||||
dsnoop->trigger_tstamp.tv_nsec = tv.tv_usec * 1000L;
|
||||
gettimestamp(&dsnoop->trigger_tstamp);
|
||||
dsnoop->state = SND_PCM_STATE_XRUN;
|
||||
dsnoop->avail_max = avail;
|
||||
return -EPIPE;
|
||||
|
|
@ -177,12 +174,8 @@ static int snd_pcm_dsnoop_status(snd_pcm_t *pcm, snd_pcm_status_t * status)
|
|||
status->trigger_tstamp = dsnoop->trigger_tstamp;
|
||||
if (pcm->tstamp_mode == SND_PCM_TSTAMP_MMAP)
|
||||
status->tstamp = snd_pcm_hw_fast_tstamp(dsnoop->spcm);
|
||||
else {
|
||||
struct timeval tv;
|
||||
gettimeofday(&tv, 0);
|
||||
status->tstamp.tv_sec = tv.tv_sec;
|
||||
status->tstamp.tv_nsec = tv.tv_usec * 1000L;
|
||||
}
|
||||
else
|
||||
gettimestamp(&status->tstamp);
|
||||
status->avail = snd_pcm_mmap_capture_avail(pcm);
|
||||
status->avail_max = status->avail > dsnoop->avail_max ? status->avail : dsnoop->avail_max;
|
||||
dsnoop->avail_max = 0;
|
||||
|
|
@ -271,7 +264,6 @@ static int snd_pcm_dsnoop_reset(snd_pcm_t *pcm)
|
|||
static int snd_pcm_dsnoop_start(snd_pcm_t *pcm)
|
||||
{
|
||||
snd_pcm_direct_t *dsnoop = pcm->private_data;
|
||||
struct timeval tv;
|
||||
int err;
|
||||
|
||||
if (dsnoop->state != SND_PCM_STATE_PREPARED)
|
||||
|
|
@ -282,9 +274,7 @@ static int snd_pcm_dsnoop_start(snd_pcm_t *pcm)
|
|||
if (err < 0)
|
||||
return err;
|
||||
dsnoop->state = SND_PCM_STATE_RUNNING;
|
||||
gettimeofday(&tv, 0);
|
||||
dsnoop->trigger_tstamp.tv_sec = tv.tv_sec;
|
||||
dsnoop->trigger_tstamp.tv_nsec = tv.tv_usec * 1000L;
|
||||
gettimestamp(&dsnoop->trigger_tstamp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue