[pulseaudio-discuss] PulseAudio - Network Streaming to sound card issues.

hyperstream wade.clair at gmail.com
Tue Feb 16 04:08:26 PST 2010


Here is a explaination of how ive been about things and what my issues
are:

Computers: 
laptop - Lucid Ubuntu 10.4 - PulseAudio 0.9.21-32-g8478 Compiled with libary version: 0.9.14
desktop- Karmic Ubuntu 9.10 - PulseAudio 0.9.19 Compiled with Libary Version: 0.9.14

Desired setup:
laptop = slave
desktop= master

I'm trying to get my Desktop to broadcast the music on BOTH laptop and desktop's speakers

Software/Gui's:
pavucontrol
pavdevchooser
paprefs

The only way i could obtain any kind of results was by using pavdevchooser, with the following settings:

In the paprefs of BOTH the desktop & laptop, gui i have the following:

  Network Access
       Make discoverable PulseAudio network sound devices available locally
  Network Server
       Enable network access to local sound devices
           Allow other machines on the LAN to discover local sound devices
           Don't Require authentication

Everything else is unticked, including the multicast/RTP tab and Simultaneous Output

At this stage, pavdevchooser can see both machine's server on each computer.
how ever the only way i can get audio played on an oposite computer, is it set, lets say in this case the hyperstream-desktop to have a default server of the hyperstream-laptop, then if i open a rhythmbox player and play, it will play ONLY on the hyperstream-laptop, but not on its OWN speakers.

And vice versa if i do it around the otherway.

How ever someone in the #pulseaudio channel, told me pavdevchooser is outdated, and to use pavucontrol.
also that on the laptop i should only enable the Network server and the two sub options, and on the master to enable the network access sub option.

The only other horrible way i have manage to stream music is to setup the laptop as a multicast/RTP receiver, and the desktop as a multicast/RTP sender, but as im sure you are aware it goes out of tune, out of sync, and isnt very nice at all.

I had a friendly user in #pulseaudio attempt to show me how to use the pacmd to do it 'manually', but i have failed lol, i will demostrate how to reproduce the error:

(THIS IS DONE ON THE MASTER (desktop - the desktop machine has itself set as server at this stage and is playing sound through its own speakers))

run pacmd in a terminal:
>>>load-module module-tunnel-sink server=hyperstream-laptop
>>>list-sinks

(THIS IS WHERE I GET LOST, i was asked to take note of the 'name of tunnel sink' and the 'local sink')

2 sink(s) available.
  * index: 0
	name: <alsa_output.pci-0000_00_06.1.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE 
	priority: 9959
	volume: 0:  47% 1:  47%
	        0: -19.63 dB 1: -19.63 dB
	        balance 0.00
	base volume: 100%
	             0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 1 KiB
	max rewind: 64 KiB
	monitor source: 0
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 2
	configured latency: 0.00 ms; range is 1.00 .. 371.52 ms
	card: 0 <alsa_card.pci-0000_00_06.1>
	module: 4
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "ALC888 Analog"
		alsa.id = "ALC888 Analog"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "HDA NVidia"
		alsa.long_card_name = "HDA NVidia at 0xf96f0000 irq 21"
		alsa.driver_name = "snd_hda_intel"
		device.bus_path = "pci-0000:00:06.1"
		sysfs.path = "/devices/pci0000:00/0000:00:06.1/sound/card0"
		device.bus = "pci"
		device.vendor.id = "10de"
		device.vendor.name = "nVidia Corporation"
		device.product.id = "0371"
		device.product.name = "MCP55 High Definition Audio"
		device.form_factor = "internal"
		device.string = "front:0"
		device.buffering.buffer_size = "65536"
		device.buffering.fragment_size = "32768"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-stereo"
		device.profile.description = "Analog Stereo"
		device.description = "Internal Audio Analog Stereo"
		alsa.mixer_name = "Realtek ALC888"
		alsa.components = "HDA:10ec0888,18491e01,00100001"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-pci"
	ports:
		analog-output: Analog Output (priority 10000)
		analog-output-headphones: Analog Headphones (priority 9000)
	active port: <analog-output>
    index: 1
	name: <tunnel.hyperstream-laptop.local.alsa_output.pci-0000_00_1b.0.analog-stereo>
	driver: <module-tunnel.c>
	flags: NETWORK HW_MUTE_CTRL HW_VOLUME_CTRL LATENCY 
	state: SUSPENDED
	suspend cause: IDLE 
	priority: 0
	volume: 0: 100% 1: 100%
	        balance 0.00
	base volume: 100%
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max request: 0 KiB
	max rewind: 0 KiB
	monitor source: 2
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	fixed latency: 250.00 ms
	module: 22
	properties:
		device.description = "Internal Audio Analog Stereo on hyperstream at hyperstream-laptop"
		tunnel.remote.server = "[192.168.0.3]:4713"
		tunnel.remote.sink = "alsa_output.pci-0000_00_1b.0.analog-stereo"
		device.icon_name = "audio-card"
		tunnel.remote_version = "16"
		tunnel.remote.user = "hyperstream"
		tunnel.remote.fqdn = "hyperstream-laptop"
		tunnel.remote.description = "Internal Audio Analog Stereo"


>>>load-module module-combine master=alsa_output.pci-0000_00_06.1.analog-stereo slaves=tunnel.remote.sink
Module load fails.
>>>


As you can see, i cannot find a name for the local sink tunnel, so im using the name of the index 0 sink.

PLEASE NOTE: on the after the last steps, the desktop is sending 180KB's outgoing. the laptop is not receiving anything.


Any help would be great, thanks in advance




More information about the pulseaudio-discuss mailing list