During check_left_to_play/record(), the watermark may increase/decrease. So before
sleeping, update the actural sleep time based on latest watermark.
if (u->use_tsched) {
*sleep_usec = pa_bytes_to_usec(left_to_play, &u->sink->sample_spec);
+ process_usec = pa_bytes_to_usec(u->tsched_watermark, &u->sink->sample_spec);
if (*sleep_usec > process_usec)
*sleep_usec -= process_usec;
if (u->use_tsched) {
*sleep_usec = pa_bytes_to_usec(left_to_play, &u->sink->sample_spec);
+ process_usec = pa_bytes_to_usec(u->tsched_watermark, &u->sink->sample_spec);
if (*sleep_usec > process_usec)
*sleep_usec -= process_usec;
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;
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;