sendspin: add sendspin sender and receiver

The sender makes an input stream for each connected client. This makes
it easier to do the per client conversion using the adapter and send
different channels to clients.

The receiver uses linear regression to map ringbuffer indexes to server
timestamps and server timestamps to client timestamps. It can then
schedule playback against its own clock.
This commit is contained in:
Wim Taymans 2026-02-04 13:32:12 +01:00
parent 6daa8ccc0d
commit d6654e84a7
11 changed files with 4644 additions and 2 deletions

View file

@ -0,0 +1,27 @@
/* PipeWire */
/* SPDX-FileCopyrightText: Copyright © 2026 Wim Taymans */
/* SPDX-License-Identifier: MIT */
#ifndef PIPEWIRE_SENDSPIN_H
#define PIPEWIRE_SENDSPIN_H
#include <stdarg.h>
#include <pipewire/pipewire.h>
#ifdef __cplusplus
extern "C" {
#endif
#define PW_SENDSPIN_SERVER_SERVICE "_sendspin-server._tcp"
#define PW_SENDSPIN_CLIENT_SERVICE "_sendspin._tcp"
#define PW_SENDSPIN_DEFAULT_SERVER_PORT 8927
#define PW_SENDSPIN_DEFAULT_CLIENT_PORT 8928
#define PW_SENDSPIN_DEFAULT_PATH "/sendspin"
#ifdef __cplusplus
}
#endif
#endif /* PIPEWIRE_SENDSPIN_H */