From 5e79d0fb01e5bcd672c1f2a7328454e2804ca4d6 Mon Sep 17 00:00:00 2001 From: Pauli Virtanen Date: Fri, 11 Jul 2025 17:56:44 +0300 Subject: [PATCH] bluez5: fix compilation and warnings --- spa/plugins/bluez5/bt-latency.h | 10 +++++----- spa/plugins/bluez5/media-sink.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/spa/plugins/bluez5/bt-latency.h b/spa/plugins/bluez5/bt-latency.h index 56d517ab3..d8ed24571 100644 --- a/spa/plugins/bluez5/bt-latency.h +++ b/spa/plugins/bluez5/bt-latency.h @@ -106,9 +106,9 @@ static inline ssize_t spa_bt_send(int fd, const void *buf, size_t size, static inline int spa_bt_latency_recv_errqueue(struct spa_bt_latency *lat, int fd, struct spa_log *log) { - struct { - struct cmsghdr cm; - char control[512]; + union { + char buf[CMSG_SPACE(32 * sizeof(struct scm_timestamping))]; + struct cmsghdr align; } control; if (!lat->enabled) @@ -122,8 +122,8 @@ static inline int spa_bt_latency_recv_errqueue(struct spa_bt_latency *lat, int f struct msghdr msg = { .msg_iov = &data, .msg_iovlen = 1, - .msg_control = &control, - .msg_controllen = sizeof(control), + .msg_control = control.buf, + .msg_controllen = sizeof(control.buf), }; struct cmsghdr *cmsg; struct scm_timestamping *tss = NULL; diff --git a/spa/plugins/bluez5/media-sink.c b/spa/plugins/bluez5/media-sink.c index 2b35ecd5b..df6bfd7e4 100644 --- a/spa/plugins/bluez5/media-sink.c +++ b/spa/plugins/bluez5/media-sink.c @@ -646,7 +646,7 @@ static uint64_t get_reference_time(struct impl *this, uint64_t *duration_ns_ret) / port->current_format.info.raw.rate; } - if (this->process_rate_diff) + if (this->process_rate_diff > 0) t = (int64_t)(t / this->process_rate_diff); return this->process_time + t; @@ -689,7 +689,7 @@ static int setup_matching(struct impl *this) * different rate, we as follower must compensate. */ if (this->following && SPA_LIKELY(this->position && - this->position->clock.rate_diff)) + this->position->clock.rate_diff > 0)) port->rate_match->rate /= this->position->clock.rate_diff; SPA_FLAG_UPDATE(port->rate_match->flags, SPA_IO_RATE_MATCH_FLAG_ACTIVE, this->following);