mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-02 09:01:46 -05:00
alsa: Update process_usec before going to sleep
During check_left_to_play/record(), the watermark may increase/decrease. So before sleeping, update the actural sleep time based on latest watermark.
This commit is contained in:
parent
b4e938e194
commit
e564129b8f
2 changed files with 4 additions and 0 deletions
|
|
@ -608,6 +608,7 @@ static int mmap_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled
|
|||
|
||||
if (u->use_tsched) {
|
||||
*sleep_usec = pa_bytes_to_usec(left_to_record, &u->source->sample_spec);
|
||||
process_usec = pa_bytes_to_usec(u->tsched_watermark, &u->source->sample_spec);
|
||||
|
||||
if (*sleep_usec > process_usec)
|
||||
*sleep_usec -= process_usec;
|
||||
|
|
@ -737,6 +738,7 @@ static int unix_read(struct userdata *u, pa_usec_t *sleep_usec, pa_bool_t polled
|
|||
|
||||
if (u->use_tsched) {
|
||||
*sleep_usec = pa_bytes_to_usec(left_to_record, &u->source->sample_spec);
|
||||
process_usec = pa_bytes_to_usec(u->tsched_watermark, &u->source->sample_spec);
|
||||
|
||||
if (*sleep_usec > process_usec)
|
||||
*sleep_usec -= process_usec;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue