mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-05-03 06:47:04 -04:00
module-avb: emit gm_changed event
This commit is contained in:
parent
5fd9c1eaff
commit
37efd5c5f9
2 changed files with 9 additions and 0 deletions
|
|
@ -18,6 +18,8 @@
|
|||
#include <spa/utils/hook.h>
|
||||
#include <time.h>
|
||||
|
||||
#define server_emit(s,m,v,...) spa_hook_list_call(&s->listener_list, struct server_events, m, v, ##__VA_ARGS__)
|
||||
#define server_emit_gm_changed(s, n, g) server_emit(s, gm_changed, 0, n, g)
|
||||
|
||||
struct gptp {
|
||||
struct server *server;
|
||||
|
|
@ -207,8 +209,13 @@ static bool update_ts_refclk(struct gptp *gptp) {
|
|||
// When GM is not equal to own clock we are clocked by external master
|
||||
pw_log_debug("Synced to GM: %s", (memcmp(cid, gmid, 8) != 0) ? "true" : "false");
|
||||
|
||||
struct timespec now;
|
||||
memcpy(gptp->clock_id, cid, 8);
|
||||
memcpy(gptp->gm_id, gmid, 8);
|
||||
|
||||
clock_gettime(CLOCK_REALTIME, &now);
|
||||
server_emit_gm_changed(gptp->server, SPA_TIMESPEC_TO_NSEC(&now), gmid);
|
||||
|
||||
return gmid_changed;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -61,6 +61,8 @@ struct server_events {
|
|||
void (*periodic) (void *data, uint64_t now);
|
||||
|
||||
int (*command) (void *data, uint64_t now, const char *command, const char *args, FILE *out);
|
||||
|
||||
void (*gm_changed) (void *data, uint64_t now, uint8_t gm_id[8]);
|
||||
};
|
||||
|
||||
struct descriptor {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue