summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-12-09 09:44:41 -0800
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-12-09 13:24:16 -0800
commite07c1e723ee72ca6c14fda5c636a702fcbb82ae8 (patch)
tree9c98d8c4ceda2163ffde786935474e5711d9e547 /client
parent253502d311bf1858af2aeb90d5996167f1da9bf3 (diff)
downloadbluez-e07c1e723ee72ca6c14fda5c636a702fcbb82ae8.tar.gz
client/player: Fix not calculating time to wait
The difference of time start and current time may have advanced just enough to add a second leaving start nanoseconds to be bigger.
Diffstat (limited to 'client')
-rw-r--r--client/player.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/client/player.c b/client/player.c
index b857fa649..8b3785d6b 100644
--- a/client/player.c
+++ b/client/player.c
@@ -3351,6 +3351,10 @@ static void send_wait(struct timespec *t_start, uint32_t us)
}
t_diff.tv_sec = t_now.tv_sec - t_start->tv_sec;
+ if (t_start->tv_nsec > t_now.tv_nsec) {
+ t_diff.tv_sec--;
+ t_now.tv_nsec += 1000000000L;
+ }
t_diff.tv_nsec = t_now.tv_nsec - t_start->tv_nsec;
delta_us = us - TS_USEC(&t_diff);