PulseAudio 11.1 - Airplay to Airport Express doesn't work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all, 
(This is an edited version sent to Tanu before I knew about this
mailing list)
I hope someone here can help.
I understand that previous versions of Pulseaudio < 11 had the ability
to connect to older Airport Expresses in order to use the Airplay
function.
I read that due to newer devices using UDP rather than TCP the Airplay 
functionality wouldn't work with these new devices.
I know that someone did their own patched version for RAOP 2  - https:/
/hfujita.github.io/pulseaudio-raop2/ -  I never tried this patch.
However, when I read that the new Pulseaudio 11 includes these changes
and that it should now work, I got really excited. 
However, I'm having the exact same problem that I did before. I enable
Airplay discovery in PA-prefs, and GNOME Sound Settings detects my
Airport Express (it's listed twice for some reason). However, when I
select one of them and use the Test Speakers function, no audio can be
heard. All volume sliders are on full.
Playing a track using Audacious for example,  whilst Airport Express is
selected for output, results in no activity at all, the track doesn't
even begin to play, with the track time stuck at 0:00:00. Switching
back to Built-in Audio works fine.
I'm using a fully updated Arch Linux and Pulseaudio 11.1. I have
no password set on my Airport Express and it works fine using iTunes on
my Mac (which I make sure is disconnected before trying it on my Linux
PC). 
With Tanu's help, I managed to get some log output from PulseAudio to
see what was going on.
In  terminal 1: 
	pulseaudio -vv 
- seems to start normally.
In terminal 2 :
	pactl load-module module-raop-discover"
I won't post the full log here, but the meaningful messages seem to
be: 


I: [pulseaudio] client.c: Created 4 "Native client (UNIX socket
client)"D: [pulseaudio] protocol-native.c: Protocol version: remote 32,
local 32I: [pulseaudio] protocol-native.c: Got credentials: uid=1000
gid=100 success=1D: [pulseaudio] protocol-native.c: SHM possible: yesD:
[pulseaudio] protocol-native.c: Negotiated SHM: yesD: [pulseaudio]
protocol-native.c: Memfd possible: yesD: [pulseaudio] protocol-
native.c: Negotiated SHM type: shared memfdD: [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 65472D:
[pulseaudio] srbchannel.c: SHM block is 65472 bytes, ringbuffer
capacity is 2 * 32712 bytesD: [pulseaudio] protocol-native.c: Enabling
srbchannel...D: [pulseaudio] module-augment-properties.c: Looking for
.desktop file for pactlD: [pulseaudio] protocol-native.c: Client
enabled srbchannel.I: [pulseaudio] module.c: Loaded "module-raop-
discover" (index: #24; argument: "").I: [pulseaudio] client.c: Freed 4
"pactl"I: [pulseaudio] protocol-native.c: Connection died.D:
[pulseaudio] module-raop-discover.c: Found RAOP: John's AirPort
ExpressD: [pulseaudio] module-raop-discover.c: Found key: 'txtvers'
with value: '1'D: [pulseaudio] module-raop-discover.c: Found key: 'ch'
with value: '2'D: [pulseaudio] module-raop-discover.c: Found key: 'cn'
with value: '0,1'D: [pulseaudio] module-raop-discover.c: Found key:
'et' with value: '0,4'D: [pulseaudio] module-raop-discover.c: Found
key: 'sv' with value: 'false'D: [pulseaudio] module-raop-discover.c:
Found key: 'da' with value: 'true'D: [pulseaudio] module-raop-
discover.c: Found key: 'sr' with value: '44100'D: [pulseaudio] module-
raop-discover.c: Found key: 'ss' with value: '16'D: [pulseaudio]
module-raop-discover.c: Found key: 'pw' with value: 'false'D:
[pulseaudio] module-raop-discover.c: Found key: 'vn' with value:
'65537'D: [pulseaudio] module-raop-discover.c: Found key: 'tp' with
value: 'TCP,UDP'D: [pulseaudio] module-raop-discover.c: Found key: 'vs'
with value: '105.1'D: [pulseaudio] module-raop-discover.c: Found key:
'am' with value: 'AirPort10,115'D: [pulseaudio] module-raop-discover.c: 
Found key: 'fv' with value: '76800.1'D: [pulseaudio] module-raop-
discover.c: Found key: 'sf' with value: '0x4'D: [pulseaudio] module-
raop-discover.c: Loading module-raop-sink with arguments
'server=[169.254.13.13]:5000 sink_name=raop_output.Johns-AirPort-
Express.local sink_properties='device.description="John\'s AirPort
Express (169.254.13.13:5000)"' protocol=UDP encryption=none codec=ALAC
channels=2 format=16 rate=44100'I: [pulseaudio] module-device-
restore.c: Restoring volume for sink raop_output.Johns-AirPort-
Express.local: front-left: 47452 /  72%,   front-right: 47452 /  72%I:
[pulseaudio] sink.c: Created sink 1 "raop_output.Johns-AirPort-
Express.local" with sample spec s16le 2ch 44100Hz and channel map
front-left,front-rightI: [pulseaudio] sink.c:     device.string =
"[169.254.13.13]:5000"I: [pulseaudio] sink.c:     device.intended_roles
= "music"I: [pulseaudio] sink.c:     device.description = "John's
AirPort Express (169.254.13.13:5000)"I: [pulseaudio]
sink.c:     device.icon_name = "audio-card"I: [pulseaudio] source.c:
Created source 2 "raop_output.Johns-AirPort-Express.local.monitor" with
sample spec s16le 2ch 44100Hz and channel map front-left,front-rightI:
[pulseaudio] source.c:     device.description = "Monitor of John's
AirPort Express (169.254.13.13:5000)"I: [pulseaudio]
source.c:     device.class = "monitor"I: [pulseaudio]
source.c:     device.icon_name = "audio-input-microphone"D: [raop-sink-
[169.254.13.13]:5000] raop-sink.c: Thread starting upD: [raop-sink-
[169.254.13.13]:5000] raop-sink.c: RAOP: IDLED: [pulseaudio] module-
device-restore.c: Could not set format on sink raop_output.Johns-
AirPort-Express.localD: [pulseaudio] module-suspend-on-idle.c: Sink
raop_output.Johns-AirPort-Express.local becomes idle, timeout in 5
seconds.D: [pulseaudio] rtsp_client.c: Attempting to connect to server
'169.254.13.13:5000'I: [pulseaudio] module.c: Loaded "module-raop-sink" 
(index: #25; argument: "server=[169.254.13.13]:5000
sink_name=raop_output.Johns-AirPort-Express.local
sink_properties='device.description="John\'s AirPort Express
(169.254.13.13:5000)"' protocol=UDP encryption=none codec=ALAC
channels=2 format=16 rate=44100")

Then, further down:
D: [raop-sink-[169.254.13.13]:5000] raop-client.c: Can't stream,
connection not established yet...D: [raop-sink-[169.254.13.13]:5000]
raop-client.c: Can't stream, connection not established yet...D: [raop-
sink-[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...
E: [pulseaudio] rtsp_client.c: Connection failed: Connection timed out
I: [pulseaudio] module-suspend-on-idle.c: Sink raop_output.Johns-
AirPort-Express.local idle for too long, suspending ...D: [pulseaudio]
sink.c: Suspend cause of sink raop_output.Johns-AirPort-Express.local
is 0x0004, suspendingD: [raop-sink-[169.254.13.13]:5000] raop-sink.c:
RAOP: SUSPENDEDD: [raop-sink-[169.254.13.13]:5000] raop-client.c: Not
alive, connection not established yet...D: [pulseaudio] core.c: Hmm, no
streams around, trying to vacuum.I: [pulseaudio] module-suspend-on-
idle.c: Sink raop_output.Johns-AirPort-Express.local.2 idle for too
long, suspending ...D: [pulseaudio] sink.c: Suspend cause of sink
raop_output.Johns-AirPort-Express.local.2 is 0x0004, suspendingD:
[raop-sink-[169.254.13.13]:5000] raop-sink.c: RAOP: SUSPENDEDD: [raop-
sink-[169.254.13.13]:5000] raop-client.c: Not alive, connection not
established yet...D: [pulseaudio] core.c: Hmm, no streams around,
trying to vacuum.

When I try to play a file from Terminal 2:
	paplay --device=raop_output.Johns-AirPort-Express.local
/usr/share/sounds/alsa/Front_Center.wav


I get the following output from Pulseaduio in Terminal 1:

I: [pulseaudio] client.c: Created 5 "Native client (UNIX socket
client)"D: [pulseaudio] protocol-native.c: Protocol version: remote 32,
local 32I: [pulseaudio] protocol-native.c: Got credentials: uid=1000
gid=100 success=1D: [pulseaudio] protocol-native.c: SHM possible: yesD:
[pulseaudio] protocol-native.c: Negotiated SHM: yesD: [pulseaudio]
protocol-native.c: Memfd possible: yesD: [pulseaudio] protocol-
native.c: Negotiated SHM type: shared memfdD: [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 65472D:
[pulseaudio] srbchannel.c: SHM block is 65472 bytes, ringbuffer
capacity is 2 * 32712 bytesD: [pulseaudio] protocol-native.c: Enabling
srbchannel...D: [pulseaudio] module-augment-properties.c: Looking for
.desktop file for pacatD: [pulseaudio] protocol-native.c: Client
enabled srbchannel.D: [pulseaudio] module-stream-restore.c: Not
restoring device for stream sink-input-by-application-name:paplay,
because already set to 'raop_output.Johns-AirPort-Express.local'.D:
[pulseaudio] module-intended-roles.c: Not setting device for stream
/usr/share/sounds/alsa/Front_Center.wav, because already set.D:
[pulseaudio] sink-input.c: Negotiated format: pcm, format.sample_format
= "\"s16le\""  format.rate = "48000"  format.channels =
"1"  format.channel_map = "\"mono\""I: [pulseaudio] sink-input.c:
Trying to change sample rateI: [pulseaudio] module-stream-restore.c:
Restoring mute state for sink input sink-input-by-application-
name:paplay.D: [pulseaudio] module-suspend-on-idle.c: Sink
raop_output.Johns-AirPort-Express.local becomes busy, resuming.D:
[pulseaudio] sink.c: Suspend cause of sink raop_output.Johns-AirPort-
Express.local is 0x0000, resumingD: [raop-sink-[169.254.13.13]:5000]
raop-sink.c: RAOP: IDLED: [pulseaudio] module-suspend-on-idle.c: Sink
raop_output.Johns-AirPort-Express.local becomes idle, timeout in 5
seconds.D: [pulseaudio] module-suspend-on-idle.c: Sink
raop_output.Johns-AirPort-Express.local becomes idle, timeout in 5
seconds.D: [pulseaudio] resampler.c: Resampler:D: [pulseaudio]
resampler.c:   rate 48000 -> 44100 (method speex-float-1)D:
[pulseaudio] resampler.c:   format s16le -> s16le (intermediate
float32le)D: [pulseaudio] resampler.c:   channels 1 -> 2 (resampling
1)D: [pulseaudio] resampler.c: Channel matrix:D: [pulseaudio]
resampler.c:        I00 D: [pulseaudio] resampler.c:     +------D:
[pulseaudio] resampler.c: O00 | 1.000D: [pulseaudio] resampler.c: O01 |
1.000I: [pulseaudio] remap_sse.c: Using SSE2 mono to stereo remappingI:
[pulseaudio] speex.c: Choosing speex quality setting 1.D: [pulseaudio]
memblockq.c: memblockq requested: maxlength=33554432, tlength=0,
base=4, prebuf=0, minreq=1 maxrewind=0D: [pulseaudio] memblockq.c:
memblockq sanitized: maxlength=33554432, tlength=33554432, base=4,
prebuf=0, minreq=4 maxrewind=0I: [pulseaudio] sink-input.c: Created
input 0 "/usr/share/sounds/alsa/Front_Center.wav" on raop_output.Johns-
AirPort-Express.local with sample spec s16le 1ch 48000Hz and channel
map monoI: [pulseaudio] sink-input.c:     media.format = "WAV
(Microsoft)"I: [pulseaudio] sink-input.c:     application.name =
"paplay"I: [pulseaudio] sink-input.c:     media.name =
"/usr/share/sounds/alsa/Front_Center.wav"I: [pulseaudio] sink-
input.c:     native-protocol.peer = "UNIX socket client"I: [pulseaudio]
sink-input.c:     native-protocol.version = "32"I: [pulseaudio] sink-
input.c:     application.process.id = "6825"I: [pulseaudio] sink-
input.c:     application.process.user = "john"I: [pulseaudio] sink-
input.c:     application.process.host = "george"I: [pulseaudio] sink-
input.c:     application.process.binary = "pacat"I: [pulseaudio] sink-
input.c:     application.language = "en_GB.utf8"I: [pulseaudio] sink-
input.c:     window.x11.display = ":0"I: [pulseaudio] sink-
input.c:     application.process.machine_id =
"1ff72ad3eaf0457bb61067f85cbbda37"I: [pulseaudio] sink-
input.c:     application.process.session_id = "2"I: [pulseaudio] sink-
input.c:     module-stream-restore.id = "sink-input-by-application-
name:paplay"I: [pulseaudio] protocol-native.c: Requested
tlength=2000.00 ms, minreq=20.00 msD: [pulseaudio] protocol-native.c:
Traditional mode enabled, modifying sink usec only for compat with
minreq.D: [pulseaudio] protocol-native.c: Requested latency=1960.00 ms,
Received latency=250.00 msD: [pulseaudio] memblockq.c: memblockq
requested: maxlength=4194304, tlength=192000, base=2, prebuf=190082,
minreq=1920 maxrewind=0D: [pulseaudio] memblockq.c: memblockq
sanitized: maxlength=4194304, tlength=192000, base=2, prebuf=190082,
minreq=1920 maxrewind=0I: [pulseaudio] protocol-native.c: Final latency
2250.00 ms = 1960.00 ms + 2*20.00 ms + 250.00 msD: [raop-sink-
[169.254.13.13]:5000] raop-sink.c: RAOP: RUNNINGD: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Not alive, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Connection already in progress...D: [raop-sink-[169.254.13.13]:5000]
raop-client.c: Can't stream, connection not established yet...D:
[pulseaudio] core-subscribe.c: Dropped redundant event due to change
event.D: [raop-sink-[169.254.13.13]:5000] raop-client.c: Can't stream,
connection not established yet...D: [raop-sink-[169.254.13.13]:5000]
raop-client.c: Can't stream, connection not established yet...D: [raop-
sink-[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] protocol-
native.c: Requesting rewind due to end of underrun.D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [pulseaudio] module-suspend-on-idle.c: Sink
raop_output.Johns-AirPort-Express.local becomes idle, timeout in 5
seconds.D: [raop-sink-[169.254.13.13]:5000] raop-client.c: Can't
stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Can't stream, connection not
established yet...D: [raop-sink-[169.254.13.13]:5000] raop-client.c:
Can't stream, connection not established yet...D: [raop-sink-
[169.254.13.13]:5000] raop-sink.c: RAOP: IDLED: [raop-sink-
[169.254.13.13]:5000] raop-client.c: Cannot FLUSH, connection not
established yet...)D: [pulseaudio] module-suspend-on-idle.c: Sink
raop_output.Johns-AirPort-Express.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
"/usr/share/sounds/alsa/Front_Center.wav"I: [pulseaudio] client.c:
Freed 5 "paplay"I: [pulseaudio] protocol-native.c: Connection died.D:
[raop-sink-[169.254.13.13]:5000] raop-client.c: Can't stream,
connection not established yet...D: [raop-sink-[169.254.13.13]:5000]
raop-client.c: Can't stream, connection not established yet...I:
[pulseaudio] module-suspend-on-idle.c: Sink raop_output.Johns-AirPort-
Express.local idle for too long, suspending ...D: [pulseaudio] sink.c:
Suspend cause of sink raop_output.Johns-AirPort-Express.local is
0x0004, suspendingD: [raop-sink-[169.254.13.13]:5000] raop-sink.c:
RAOP: SUSPENDEDD: [raop-sink-[169.254.13.13]:5000] raop-client.c: Not
alive, connection not established yet...D: [pulseaudio] core.c: Hmm, no
streams around, trying to vacuum.

And then, in Terminal 2 (paplay):
Failed to drain stream: Timeout

This has been driving me mad for a number of years now, and this is one
of the main things that keeps me from switching to Linux full time. 
If anyone can shed some light on this, I'd be eternally grateful! :-)
Thanks for reading,
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20171006/9bc1e85e/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: face-smile.svg
Type: image/svg+xml
Size: 563 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20171006/9bc1e85e/attachment-0001.svg>


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux