27 lines
907 B
Markdown
27 lines
907 B
Markdown
# Audio Router
|
|
|
|
This daemon owns the physical PipeWire/JACK links for sanctuary audio. MQTT
|
|
topic names and payloads remain under the existing `audio/player` base topic.
|
|
|
|
YTPlayer audio follows one path:
|
|
|
|
```text
|
|
MPV -> ytplayer_bus -> Audio Router -> HDMI, analog, or disconnected
|
|
```
|
|
|
|
The virtual sink definition lives at
|
|
`pipewire/20-ytplayer-bus.conf`. Install it as
|
|
`~/.config/pipewire/pipewire-pulse.conf.d/20-ytplayer-bus.conf`; PipeWire Pulse
|
|
will recreate the bus after restarts.
|
|
|
|
Preset policy:
|
|
|
|
- `service`: mixer to HDMI only; YTPlayer disconnected
|
|
- `video`: YTPlayer to HDMI
|
|
- `announcements` and `aux_only`: YTPlayer to analog
|
|
- `mute_all`: YTPlayer disconnected
|
|
|
|
The router starts muted, restores the retained `audio/player/mode/state` once,
|
|
and periodically reconciles missing links. YTPlayer is configured as an
|
|
exclusive source, so a preset that enables both HDMI and analog is rejected.
|