blob: 5ad8df2557f2009c31307885af0eb1cd10679b35 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#!/usr/bin/env bash
set -e
. ~/src/dotfiles/lib-src/posix-defuns.sh
[ \( "$1" = --client -o "$1" = --server \) -a "$#" -eq 2 ] \
|| fail "usage: pactl-tunnel-sink --client|--server ADDRESS"
addr=$2
port=4656
def= mod=
cleanup() {
set +e
[ -n "$def" ] && pactl set-default-sink "$def"
[ -n "$mod" ] && pactl unload-module "$mod"
}
trap cleanup INT TERM EXIT
case "$1" in
--client)
def="$(pactl get-default-sink)"
mod="$(pactl load-module module-tunnel-sink server=tcp:$addr:$port)"
pactl set-default-sink "tunnel-sink.tcp:$addr:$port"
;;
--server)
sudo firewall-cmd --add-port=$port/tcp
mod="$(pactl load-module module-native-protocol-tcp port=$port listen=$addr)"
;;
esac
read -n 1 -r -s -p "Press any key to exit .."
|