2023-02-08 18:12:00 +01:00
|
|
|
/* AVB support */
|
|
|
|
|
/* SPDX-FileCopyrightText: Copyright © 2022 Wim Taymans */
|
|
|
|
|
/* SPDX-License-Identifier: MIT */
|
2022-03-22 19:40:23 +01:00
|
|
|
|
|
|
|
|
#include <pipewire/pipewire.h>
|
|
|
|
|
|
|
|
|
|
#include "srp.h"
|
|
|
|
|
|
|
|
|
|
struct srp {
|
|
|
|
|
struct server *server;
|
|
|
|
|
struct spa_hook server_listener;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
static void srp_destroy(void *data)
|
|
|
|
|
{
|
|
|
|
|
struct srp *srp = data;
|
|
|
|
|
spa_hook_remove(&srp->server_listener);
|
|
|
|
|
free(srp);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static const struct server_events server_events = {
|
2022-03-25 10:28:18 +01:00
|
|
|
AVB_VERSION_SERVER_EVENTS,
|
2022-03-22 19:40:23 +01:00
|
|
|
.destroy = srp_destroy,
|
|
|
|
|
};
|
|
|
|
|
|
2022-03-25 10:28:18 +01:00
|
|
|
int avb_srp_register(struct server *server)
|
2022-03-22 19:40:23 +01:00
|
|
|
{
|
|
|
|
|
struct srp *srp;
|
|
|
|
|
|
|
|
|
|
srp = calloc(1, sizeof(*srp));
|
|
|
|
|
if (srp == NULL)
|
|
|
|
|
return -errno;
|
|
|
|
|
|
|
|
|
|
srp->server = server;
|
|
|
|
|
|
|
|
|
|
avdecc_server_add_listener(server, &srp->server_listener, &server_events, srp);
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|