aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/outcome/sppipewire.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-12-15 12:43:58 +0900
committerOphestra <cat@gensokyo.uk>2025-12-15 12:57:06 +0900
commit54610aaddcc01e335c34087bc0c3bc1de6d23cf8 (patch)
tree4e8ad54c21e4440ddd54a2be4089d7d4807f97ac /internal/outcome/sppipewire.go
parent2e806601693e0262641386ce5430d7e8d84b2a77 (diff)
internal/outcome: expose pipewire via pipewire-pulse
This no longer exposes the pipewire socket to the container, and instead mediates access via pipewire-pulse. This makes insecure parts of the protocol inaccessible as explained in the doc comment in hst. Closes #29. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/outcome/sppipewire.go')
-rw-r--r--internal/outcome/sppipewire.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/outcome/sppipewire.go b/internal/outcome/sppipewire.go
index fd99d514..8c5760bd 100644
--- a/internal/outcome/sppipewire.go
+++ b/internal/outcome/sppipewire.go
@@ -41,9 +41,13 @@ func (s *spPipeWireOp) toSystem(state *outcomeStateSys) error {
}
func (s *spPipeWireOp) toContainer(state *outcomeStateParams) error {
+ if s.CompatServerPath == nil {
innerPath := state.runtimeDir.Append(pipewire.PW_DEFAULT_REMOTE)
state.env[pipewire.Remote] = innerPath.String()
state.params.Bind(state.instancePath().Append("pipewire"), innerPath, 0)
+ }
+ // pipewire-pulse behaviour implemented in shim.go
+ state.pipewirePulsePath = s.CompatServerPath
return nil
}