This repository has no description
1.1 kB
33 lines
1# Room speaker for the acheron audio hub (./hub.nix): plays what the hub
2# sends via ROC on the default output.
3{ self, lib, ... }:
4let
5 kartei = import (self.inputs.kartei + "/modules/retiolum/hosts.nix") { inherit lib; };
6 acheron = kartei.own.acheron.ip4;
7in
8{
9 services.pipewire.extraConfig.pipewire."10-audio-room"."context.modules" = [
10 {
11 name = "libpipewire-module-roc-source";
12 args = {
13 "local.ip" = "0.0.0.0";
14 "local.source.port" = 10001;
15 "local.repair.port" = 10002;
16 "local.control.port" = 10003;
17 "fec.code" = "disable";
18 "sess.latency.msec" = 30;
19 "source.name" = "roc-hub";
20 "source.props" = {
21 "node.description" = "Audio hub (acheron)";
22 # keep the graph quantum small while the hub plays here
23 "node.latency" = "256/48000";
24 };
25 };
26 }
27 ];
28
29 # the hub sends over retiolum (see ./hub.nix), accept only acheron
30 networking.firewall.extraInputRules = ''
31 iifname "retiolum" ip saddr ${acheron} udp dport 10001-10003 accept
32 '';
33}