09-01-2012, 08:27 AM
Hi,
First of all thanks for a quality project!
Hopefully someone has an idea what my problem is: -
I've created a custom OpenELEC build with dual audio support for my ION i386 based Revo R3600 with pulseaudio enabled (by editing the project file) with the intention of getting XBMC to play sound through ALSA locally (for DTS/AC3 passthrough) as well as playing over the network via Pulseaudio to my backend server.
Good news pulseaudio works fine in local mode (i.e. outputting to alsa-sink), bad news is I am actually trying to set Pulseaudio to work in network sink mode which I've tried two ways (I'm extracting the system squashfs to make these changes before installing onto my system): -
1). Setting default-server variable in /etc/pulse/client.conf to my network pulseaudio server
2). Creating a module-tunnel-sink in /etc/pulse/system.pa
Neither work but the second approach allows me to get a bit more debug info and the problem I'm seeing in the log file is a Connection refused error from within socket-client.c; also noticed issues with the cookie file (in that it doesn't seem to be able to read the cookie file despite it being readable by root and the file does exist and is in fact 256bytes long): -
I know that my Pulseaudio server isn't the issue as I have another XBMCbuntu setup that uses it without a problem, my guess is it's related to running pulseaudio in system mode in OpenELEC and some security issue I can't figure out, I can't see where the problem could be as I've set hosts.allow to ALL: ALL, checked iptables and no rules there, dbus connects successfully so I've run out of ideas.
I've been tinkering with this for two days and I'm on the verge of losing my sanity I think so thought it best to ask for some help.
First of all thanks for a quality project!
Hopefully someone has an idea what my problem is: -
I've created a custom OpenELEC build with dual audio support for my ION i386 based Revo R3600 with pulseaudio enabled (by editing the project file) with the intention of getting XBMC to play sound through ALSA locally (for DTS/AC3 passthrough) as well as playing over the network via Pulseaudio to my backend server.
Good news pulseaudio works fine in local mode (i.e. outputting to alsa-sink), bad news is I am actually trying to set Pulseaudio to work in network sink mode which I've tried two ways (I'm extracting the system squashfs to make these changes before installing onto my system): -
1). Setting default-server variable in /etc/pulse/client.conf to my network pulseaudio server
2). Creating a module-tunnel-sink in /etc/pulse/system.pa
Neither work but the second approach allows me to get a bit more debug info and the problem I'm seeing in the log file is a Connection refused error from within socket-client.c; also noticed issues with the cookie file (in that it doesn't seem to be able to read the cookie file despite it being readable by root and the file does exist and is in fact 256bytes long): -
Quote:I [pulseaudio] main.c: Running in system mode: yes
W [pulseaudio] main.c: OK, so you are running PA in system mode. Please note that you most likely shouldn't be doing that.
W [pulseaudio] main.c: If you do it nonetheless then it's your own fault if things don't work as expected.
W [pulseaudio] main.c: Please read http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode for an explanation why system mode is usually a bad idea.
W [pulseaudio] pid.c: Stale PID file, overwriting.
I [pulseaudio] main.c: Fresh high-resolution timers available! Bon appetit!
D [pulseaudio] memblock.c: Using private memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65496
I [pulseaudio] cpu-x86.c: CPU flags: CMOV MMX SSE SSE2 SSE3 SSSE3
I [pulseaudio] svolume_mmx.c: Initialising MMX optimized volume functions.
I [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers.
I [pulseaudio] svolume_sse.c: Initialising SSE2 optimized volume functions.
I [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers.
I [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions.
D [pulseaudio] cli-command.c: Checking for existence of '/usr/lib/pulse/module-udev-detect.so': success
D [pulseaudio] cli-command.c: Checking for existence of '/usr/lib/pulse/module-esound-protocol-unix.so': failure
D [pulseaudio] cli-command.c: Checking for existence of '/usr/lib/pulse/module-dbus-protocol.so': success
D [pulseaudio] authkey.c: Got 0 bytes from cookie file '/tmp/.pulse-cookie', expected 256
I [pulseaudio] sink.c: Created sink 0 "network" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I [pulseaudio] sink.c: device.description = "zones on 192.168.1.68"
I [pulseaudio] sink.c: tunnel.remote.server = "192.168.1.68"
I [pulseaudio] sink.c: tunnel.remote.sink = "zones"
I [pulseaudio] sink.c: device.icon_name = "audio-card"
I [pulseaudio] source.c: Created source 0 "network.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I [pulseaudio] source.c: device.description = "Monitor of zones on 192.168.1.68"
I [pulseaudio] source.c: device.class = "monitor"
I [pulseaudio] source.c: device.icon_name = "audio-input-microphone"
D [module-tunnel] module-tunnel.c: Thread starting up
I [pulseaudio] module.c: Loaded "module-tunnel-sink" (index: #0; argument: "sink_name=network server=192.168.1.68 sink=zones cookie=/tmp/.pulse-cookie").
D [pulseaudio] dbus-util.c: Successfully connected to D-Bus system bus 51ac6b28370a6a5b9954e3695041ddad as :1.99
D [pulseaudio] main.c: Got org.pulseaudio.Server!
I [pulseaudio] main.c: Daemon startup complete.
I [pulseaudio] main.c: Daemon startup successful.
D [pulseaudio] socket-client.c: connect(): Connection refused
E [pulseaudio] module-tunnel.c: Connection failed: Connection refused
I [pulseaudio] module.c: Unloading "module-tunnel-sink" (index: #0).
D [module-tunnel] module-tunnel.c: Thread shutting down
I [pulseaudio] sink.c: Freeing sink 0 "network"
I [pulseaudio] source.c: Freeing source 0 "network.monitor"
I [pulseaudio] module.c: Unloaded "module-tunnel-sink" (index: #0).
I know that my Pulseaudio server isn't the issue as I have another XBMCbuntu setup that uses it without a problem, my guess is it's related to running pulseaudio in system mode in OpenELEC and some security issue I can't figure out, I can't see where the problem could be as I've set hosts.allow to ALL: ALL, checked iptables and no rules there, dbus connects successfully so I've run out of ideas.
I've been tinkering with this for two days and I'm on the verge of losing my sanity I think so thought it best to ask for some help.