diff --git a/spa/plugins/bluez5/sco-sink.c b/spa/plugins/bluez5/sco-sink.c index 8c8eb616e..3fa870658 100644 --- a/spa/plugins/bluez5/sco-sink.c +++ b/spa/plugins/bluez5/sco-sink.c @@ -57,9 +57,12 @@ static struct spa_log_topic log_topic = SPA_LOG_TOPIC(0, "spa.bluez5.sink.sco"); #undef SPA_LOG_TOPIC_DEFAULT #define SPA_LOG_TOPIC_DEFAULT &log_topic +#define DEFAULT_CLOCK_NAME "clock.system.monotonic" + struct props { uint32_t min_latency; uint32_t max_latency; + char clock_name[64]; }; #define MAX_BUFFERS 32 @@ -167,6 +170,7 @@ static void reset_props(struct props *props) { props->min_latency = default_min_latency; props->max_latency = default_max_latency; + strncpy(props->clock_name, DEFAULT_CLOCK_NAME, sizeof(props->clock_name)); } static int impl_node_enum_params(void *object, int seq, @@ -305,6 +309,11 @@ static int impl_node_set_io(void *object, uint32_t id, void *data, size_t size) switch (id) { case SPA_IO_Clock: this->clock = data; + if (this->clock != NULL) { + spa_scnprintf(this->clock->name, + sizeof(this->clock->name), + "%s", this->props.clock_name); + } break; case SPA_IO_Position: this->position = data; diff --git a/spa/plugins/bluez5/sco-source.c b/spa/plugins/bluez5/sco-source.c index ab1079cf3..856997a44 100644 --- a/spa/plugins/bluez5/sco-source.c +++ b/spa/plugins/bluez5/sco-source.c @@ -58,9 +58,12 @@ static struct spa_log_topic log_topic = SPA_LOG_TOPIC(0, "spa.bluez5.source.sco" #undef SPA_LOG_TOPIC_DEFAULT #define SPA_LOG_TOPIC_DEFAULT &log_topic +#define DEFAULT_CLOCK_NAME "clock.system.monotonic" + struct props { uint32_t min_latency; uint32_t max_latency; + char clock_name[64]; }; #define MAX_BUFFERS 32 @@ -154,6 +157,7 @@ static void reset_props(struct props *props) { props->min_latency = default_min_latency; props->max_latency = default_max_latency; + strncpy(props->clock_name, DEFAULT_CLOCK_NAME, sizeof(props->clock_name)); } static int impl_node_enum_params(void *object, int seq, @@ -248,6 +252,11 @@ static int impl_node_set_io(void *object, uint32_t id, void *data, size_t size) switch (id) { case SPA_IO_Clock: this->clock = data; + if (this->clock != NULL) { + spa_scnprintf(this->clock->name, + sizeof(this->clock->name), + "%s", this->props.clock_name); + } break; case SPA_IO_Position: this->position = data;