You are not logged in.

#1 2019-10-19 13:17:10

ypokalipz
Member
Registered: 2019-10-19
Posts: 1

RTSP handshake issue when using Pulseaudio over RAOP

Hi people,


I'm having some issues getting pulseaudio to stream playback to my soundbar over airplay. I've been digging for the last week and have unfortunately come up empty handed.
Pavucontrol shows it's available as an output device but when I try to play a stream over it (i.e: Audio from Chromium Browser) it freezes up and times out. Relevant logs below:


"pulseaudio -vvv" is running and I load module-raop-discover via paprefs (FY: soundbar is called "Euterpe" on the network). 

D: [pulseaudio] stdin-util.c: Loading module 'module-raop-discover' with args '' due to GConf/GSettings configuration.
I: [pulseaudio] module.c: Loaded "module-raop-discover" (index: #28; argument: "").
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Module added for object /org/pulseaudio/core1/module28
D: [pulseaudio] module-raop-discover.c: Found RAOP: Euterpe
D: [pulseaudio] module-raop-discover.c: Found key: 'cn' with value: '0,1'
D: [pulseaudio] module-raop-discover.c: Found key: 'da' with value: 'true'
D: [pulseaudio] module-raop-discover.c: Found key: 'et' with value: '0,4'
D: [pulseaudio] module-raop-discover.c: Found key: 'ft' with value: '0x445F8A00,0x1C340'
D: [pulseaudio] module-raop-discover.c: Found key: 'fv' with value: 'p20.5.0.14-7264+5d50672'
D: [pulseaudio] module-raop-discover.c: Found key: 'md' with value: '0,1,2'
D: [pulseaudio] module-raop-discover.c: Found key: 'am' with value: 'Bose Soundbar 700'
D: [pulseaudio] module-raop-discover.c: Found key: 'sf' with value: '0x4'
D: [pulseaudio] module-raop-discover.c: Found key: 'tp' with value: 'UDP'
D: [pulseaudio] module-raop-discover.c: Found key: 'vn' with value: '65537'
D: [pulseaudio] module-raop-discover.c: Found key: 'vs' with value: '366.0'
D: [pulseaudio] module-raop-discover.c: Found key: 'pk' with value: '05c56adf8da3e51fb2bf02d20d3ca115988b1d704869f1f5e08c19df414f5d51'
D: [pulseaudio] module-raop-discover.c: Default latency is 2000 ms for device model Bose Soundbar 700.
D: [pulseaudio] module-raop-discover.c: Loading module-raop-sink with arguments 'server=[192.168.1.209]:7000 sink_name=raop_output.Bose-SB700-2811a5f7d0ba.local sink_properties='device.description="Euterpe" device.model="Bose Soundbar 700"' protocol=UDP encryption=none codec=ALAC latency_msec=2000'
I: [pulseaudio] module-card-restore.c: Restoring port latency offsets for card raop_client._192.168.1.209__7000.
D: [pulseaudio] card.c: Looking for initial profile for card raop_client._192.168.1.209__7000
D: [pulseaudio] card.c: RAOP availability unknown
I: [pulseaudio] card.c: raop_client._192.168.1.209__7000: active_profile: RAOP
I: [pulseaudio] card.c: Created 3 "raop_client._192.168.1.209__7000"
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.CardProfile added for object /org/pulseaudio/core1/card3/profile0
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Card added for object /org/pulseaudio/core1/card3
I: [pulseaudio] module-device-restore.c: Restoring port for sink sink:raop_output.Bose-SB700-2811a5f7d0ba.local.
I: [pulseaudio] sink.c: Created sink 1 "raop_output.Bose-SB700-2811a5f7d0ba.local" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c:     device.string = "[192.168.1.209]:7000"
I: [pulseaudio] sink.c:     device.intended_roles = "music"
I: [pulseaudio] sink.c:     device.description = "Euterpe"
I: [pulseaudio] sink.c:     device.model = "Bose Soundbar 700"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card"
I: [pulseaudio] source.c: Created source 2 "raop_output.Bose-SB700-2811a5f7d0ba.local.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     device.description = "Monitor of Euterpe"
I: [pulseaudio] source.c:     device.class = "monitor"
I: [pulseaudio] source.c:     device.string = "[192.168.1.209]:7000"
I: [pulseaudio] source.c:     device.icon_name = "audio-card"
D: [raop-sink-[192.168.1.209]:7000] raop-sink.c: Thread starting up
D: [raop-sink-[192.168.1.209]:7000] raop-sink.c: RAOP: IDLE
D: [pulseaudio] sink.c: raop_output.Bose-SB700-2811a5f7d0ba.local: state: INIT -> IDLE
D: [pulseaudio] source.c: raop_output.Bose-SB700-2811a5f7d0ba.local.monitor: state: INIT -> IDLE
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Device added for object /org/pulseaudio/core1/source2
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Source added for object /org/pulseaudio/core1/source2
D: [pulseaudio] module-device-restore.c: Could not set format on sink raop_output.Bose-SB700-2811a5f7d0ba.local
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.DevicePort added for object /org/pulseaudio/core1/sink1/port0
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Device added for object /org/pulseaudio/core1/sink1
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Sink added for object /org/pulseaudio/core1/sink1
D: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Bose-SB700-2811a5f7d0ba.local becomes idle, timeout in 5 seconds.
D: [pulseaudio] rtsp_client.c: Attempting to connect to server '192.168.1.209:7000'
I: [pulseaudio] module.c: Loaded "module-raop-sink" (index: #29; argument: "server=[192.168.1.209]:7000 sink_name=raop_output.Bose-SB700-2811a5f7d0ba.local sink_properties='device.description="Euterpe" device.model="Bose Soundbar 700"' protocol=UDP encryption=none codec=ALAC latency_msec=2000").
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Module added for object /org/pulseaudio/core1/module29
D: [pulseaudio] rtsp_client.c: Established RTSP connection from local ip 192.168.1.181
D: [pulseaudio] rtsp_client.c: Sending command: OPTIONS
D: [pulseaudio] rtsp_client.c: Full response received. Dispatching
D: [pulseaudio] raop-client.c: RAOP: OPTIONS (auth cb)
D: [pulseaudio] raop-sink.c: State change received, informing IO thread...
I: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Bose-SB700-2811a5f7d0ba.local idlefor too long, suspending ...
D: [raop-sink-[192.168.1.209]:7000] raop-sink.c: RAOP: SUSPENDED
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Not alive, connection not established yet...
D: [pulseaudio] sink.c: raop_output.Bose-SB700-2811a5f7d0ba.local: suspend_cause: (none) -> IDLE
D: [pulseaudio] sink.c: raop_output.Bose-SB700-2811a5f7d0ba.local: state: IDLE -> SUSPENDED
D: [pulseaudio] source.c: raop_output.Bose-SB700-2811a5f7d0ba.local.monitor: suspend_cause: (none) -> IDLE
D: [pulseaudio] source.c: raop_output.Bose-SB700-2811a5f7d0ba.local.monitor: state: IDLE -> SUSPENDED
D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.

Now I start playing back the audio over to Euterpe, which results in the following logs.

I: [pulseaudio] client.c: Created 1 "Native client (UNIX socket client)"
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Client added for object /org/pulseaudio/core1/client1
D: [pulseaudio] protocol-native.c: Protocol version: remote 33, local 33
I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=998 success=1
D: [pulseaudio] protocol-native.c: SHM possible: yes
D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
D: [pulseaudio] protocol-native.c: Memfd possible: yes
D: [pulseaudio] protocol-native.c: Negotiated SHM type: shared memfd
D: [pulseaudio] memblock.c: Using shared memfd memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
D: [pulseaudio] srbchannel.c: SHM block is 65472 bytes, ringbuffer capacity is 2 * 32712 bytes
D: [pulseaudio] protocol-native.c: Enabling srbchannel...
D: [pulseaudio] module-augment-properties.c: Looking for .desktop file for brave
D: [pulseaudio] protocol-native.c: Client enabled srbchannel.
I: [pulseaudio] module-stream-restore.c: Restoring device for stream sink-input-by-application-name:Brave.
D: [pulseaudio] module-intended-roles.c: Not setting device for stream Playback, because already set.
D: [pulseaudio] sink-input.c: Negotiated format: pcm, format.sample_format = "\"float32le\""format.rate = "44100"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
I: [pulseaudio] sink-input.c: Trying to change sample spec
D: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Bose-SB700-2811a5f7d0ba.local becomes busy, resuming.
D: [raop-sink-[192.168.1.209]:7000] raop-sink.c: RAOP: IDLE
D: [pulseaudio] sink.c: raop_output.Bose-SB700-2811a5f7d0ba.local: suspend_cause: IDLE -> (none)
D: [pulseaudio] sink.c: raop_output.Bose-SB700-2811a5f7d0ba.local: state: SUSPENDED -> IDLE
D: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Bose-SB700-2811a5f7d0ba.local becomes idle, timeout in 5 seconds.
D: [pulseaudio] source.c: raop_output.Bose-SB700-2811a5f7d0ba.local.monitor: suspend_cause: IDLE -> (none)
D: [pulseaudio] source.c: raop_output.Bose-SB700-2811a5f7d0ba.local.monitor: state: SUSPENDED-> IDLE
D: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Bose-SB700-2811a5f7d0ba.local becomes idle, timeout in 5 seconds.
I: [pulseaudio] resampler.c: Forcing resampler 'copy', because of fixed, identical sample rates.
D: [pulseaudio] resampler.c: Resampler:
D: [pulseaudio] resampler.c:   rate 44100 -> 44100 (method copy)
D: [pulseaudio] resampler.c:   format float32le -> s16le (intermediate s16le)
D: [pulseaudio] resampler.c:   channels 2 -> 2 (resampling 2)
D: [pulseaudio] memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0
D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
I: [pulseaudio] sink-input.c: Created input 0 "Playback" on raop_output.Bose-SB700-2811a5f7d0ba.local with sample spec float32le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink-input.c:     application.icon_name = "chromium-browser"
I: [pulseaudio] sink-input.c:     media.name = "Playback"
I: [pulseaudio] sink-input.c:     application.name = "Brave"
I: [pulseaudio] sink-input.c:     native-protocol.peer = "UNIX socket client"
I: [pulseaudio] sink-input.c:     native-protocol.version = "33"
I: [pulseaudio] sink-input.c:     application.process.id = "11335"
I: [pulseaudio] sink-input.c:     application.process.user = "max"
I: [pulseaudio] sink-input.c:     application.process.host = "HAL"
I: [pulseaudio] sink-input.c:     application.process.binary = "brave"
I: [pulseaudio] sink-input.c:     application.language = "en_GB.UTF-8"
I: [pulseaudio] sink-input.c:     window.x11.display = ":0"
I: [pulseaudio] sink-input.c:     application.process.machine_id = "cdc2ce81a1e24136b487a44039db93c9"
I: [pulseaudio] sink-input.c:     application.process.session_id = "1"
I: [pulseaudio] sink-input.c:     module-stream-restore.id = "sink-input-by-application-name:Brave"
I: [pulseaudio] protocol-native.c: Requested tlength=69.66 ms, minreq=11.61 ms
D: [pulseaudio] protocol-native.c: Adjust latency mode enabled, configuring sink latency to half of overall latency.
D: [pulseaudio] protocol-native.c: Requested latency=23.22 ms, Received latency=250.00 ms
D: [pulseaudio] memblockq.c: memblockq requested: maxlength=4194304, tlength=96392, base=8, prebuf=92304, minreq=4096 maxrewind=0
D: [pulseaudio] memblockq.c: memblockq sanitized: maxlength=4194304, tlength=96392, base=8, prebuf=92304, minreq=4096 maxrewind=0
I: [pulseaudio] protocol-native.c: Final latency 523.22 ms = 250.00 ms + 2*11.61 ms + 250.00 ms
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Stream added for object /org/pulseaudio/core1/playback_stream0
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] protocol-native.c: Requesting rewind due to end of underrun.
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Can't stream, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] protocol-native.c: Requesting rewind due to end of underrun.
D: [raop-sink-[192.168.1.209]:7000] sink-input.c: Requesting rewind due to uncorking
D: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Bose-SB700-2811a5f7d0ba.local becomes busy, resuming.
D: [raop-sink-[192.168.1.209]:7000] raop-sink.c: RAOP: RUNNING
D: [raop-sink-[192.168.1.209]:7000] raop-client.c: Not alive, connection not established yet...
D: [raop-sink-[192.168.1.209]:7000] rtsp_client.c: Attempting to connect to server '192.168.1.209:7000'
D: [pulseaudio] sink.c: raop_output.Bose-SB700-2811a5f7d0ba.local: state: IDLE -> RUNNING
D: [pulseaudio] rtsp_client.c: Established RTSP connection from local ip 192.168.1.181
D: [pulseaudio] raop-client.c: RAOP: CONNECTED
D: [pulseaudio] rtsp_client.c: Sending command: ANNOUNCE
D: [pulseaudio] rtsp_client.c: Full response received. Dispatching
D: [pulseaudio] raop-client.c: RAOP: ANNOUNCE
D: [pulseaudio] raop-client.c: Socket bound to port 6001 (SOCK_DGRAM)
D: [pulseaudio] raop-client.c: Socket bound to port 6002 (SOCK_DGRAM)
D: [pulseaudio] rtsp_client.c: Sending command: SETUP
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: RTSP/1.0 403 Forbidden
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: Content-Length: 0
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: Server: AirTunes/366.0
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: CSeq: 2
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response:
D: [raop-sink-[192.168.1.209]:7000] protocol-native.c: Requesting rewind due to end of underrun.
D: [raop-sink-[192.168.1.209]:7000] protocol-native.c: Requesting rewind due to end of underrun.
D: [raop-sink-[192.168.1.209]:7000] sink-input.c: Requesting rewind due to corking
D: [raop-sink-[192.168.1.209]:7000] raop-sink.c: RAOP: IDLE
D: [raop-sink-[192.168.1.209]:7000] rtsp_client.c: Sending command: FLUSH
D: [pulseaudio] sink.c: raop_output.Bose-SB700-2811a5f7d0ba.local: state: RUNNING -> IDLE
D: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Bose-SB700-2811a5f7d0ba.local becomes idle, timeout in 5 seconds.
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: RTSP/1.0 403 Forbidden
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: Content-Length: 0
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: Server: AirTunes/366.0
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: CSeq: 3
W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response:
I: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Bose-SB700-2811a5f7d0ba.local idlefor too long, suspending ...
D: [raop-sink-[192.168.1.209]:7000] raop-sink.c: RAOP: SUSPENDED
D: [pulseaudio] sink.c: raop_output.Bose-SB700-2811a5f7d0ba.local: suspend_cause: (none) -> IDLE
D: [pulseaudio] sink.c: raop_output.Bose-SB700-2811a5f7d0ba.local: state: IDLE -> SUSPENDED
D: [pulseaudio] source.c: raop_output.Bose-SB700-2811a5f7d0ba.local.monitor: suspend_cause: (none) -> IDLE
D: [pulseaudio] source.c: raop_output.Bose-SB700-2811a5f7d0ba.local.monitor: state: IDLE -> SUSPENDED
I: [pulseaudio] core.c: All sinks and sources are suspended, vacuuming memory
D: [raop-sink-[192.168.1.209]:7000] protocol-native.c: Requesting rewind due to end of underrun.
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Stream removed from object /org/pulseaudio/core1/playback_stream0
D: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Bose-SB700-2811a5f7d0ba.local becomes idle, timeout in 5 seconds.
D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.
I: [pulseaudio] sink-input.c: Freeing input 0 "Playback"
D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Client removed from object /org/pulseaudio/core1/client1
I: [pulseaudio] client.c: Freed 1 "Brave"
I: [pulseaudio] protocol-native.c: Connection died.

As far as I can see, the issue seems to be that the RTSP handshake is failing and returning a 403. Unfortunately I haven't been able to find out why that is and what I can do about it.
Here's my /etc/pulse/default.pa for reference.

#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)

.fail

### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore

### Automatically augment property information from .desktop files
### stored in /usr/share/application
load-module module-augment-properties

### Should be after module-*-restore but before module-*-detect
load-module module-switch-on-port-available

### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect tsched_buffer_size=50000 use_ucm=0 tsched=0
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif

### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif

### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif

### Load several protocols
load-module module-dbus-protocol
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix

### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish
#load-module module-zeroconf-discover

### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv

### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor

### Load additional modules from GSettings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gsettings.so
.nofail
load-module module-gsettings
.fail
.endif


### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore

### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams

### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink

### Honour intended role device property
load-module module-intended-roles

### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif

### Enable positioned event sounds
load-module module-position-event-sounds

### Cork music/video streams when a phone stream is active
load-module module-role-cork

### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply

Thanks in advance for any light someone can shed on how I can move towards solving this.


Cheers,

Last edited by ypokalipz (2019-10-19 13:19:22)

Offline

#2 2020-07-23 21:21:22

Mr. Tao
Member
Registered: 2020-06-27
Posts: 13

Re: RTSP handshake issue when using Pulseaudio over RAOP

I had a similar issue getting 403 Forbidden. With a development build of PulseAudio the handshake succeeded and I am able to stream from Arch over AirPlay 2 to Bose SoundTouch. I have modified pulseaudio PKGBUILD and uploaded pulseaudio-airplay to AUR.

Offline

Board footer

Powered by FluxBB