Re: Launching Rygel on headless server



On 29 May 2012 10:44, Jens Georg <mail jensge org> wrote:
> On Mo, 2012-05-28 at 22:56 +0100, Cefn Hoile wrote:
>> Once I've installed all the debugging packages you mentioned, the
>> Segfault stops arising.
>
> That means you managed to install the gst-plugins-base libraries without
> installing the base plugins. Looks like some packaging dependendy
> problems.
>
>>
>> I was now able to see more meaningful errors when trying to attach to
>> the wav stream, which were associated with missing packages - needed
>> gstreamer0.10-pulseaudio to give me pulsesrc and
>> gstreamer0.10-plugins-good to give me wavpackenc
>
> Btw. wavpack is not WAV. wavpack is a lossless but compressing audio
> codec, similar to FLAC. WAV "encoding" is done by wavenc.
>
>>
>> I've arrived at this error which I don't know how to handle when
>> attaching to the Gstreamer Wave stream using VLC's UPNP browser (which
>> detects a stream from Rygel at my local
>> http://192.168.1.128:57845/GstLaunch/i/bXlwdWxzZWF1ZGlvc2luaw%3D%3D.wav
>> )
>>
>> (rygel:3140): Rygel-WARNING **: rygel-http-request.vala:97: Invalid seek request
>
> This is a known bug we need to address at some point; unfortunately this
> is a bit tricky (https://bugzilla.gnome.org/show_bug.cgi?id=659432 or
> https://bugzilla.gnome.org/show_bug.cgi?id=674736) It's ok with VLC as
> it does the right thing (retry without seeking).
>
>> (rygel:3140): Rygel-CRITICAL **: Error from pipeline
>> RygelHTTPGstResponse: pulsesrc.c(1480): gst_pulsesrc_prepare ():
>> /GstPipeline:RygelHTTPGstResponse/GstBin:bin0/GstPulseSrc:pulsesrc0
>
> Are you sure that the headphone thing is the correct pulse source?
>
> I've got something like
>
> mypulseaudiosink-title=Audio on @HOSTNAME@
> mypulseaudiosink-mime=audio/L16;rate=44100;channels=2
> mypulseaudiosink-launch=pulsesrc device=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
>
> in my rygel.conf
>
>

I'm still surprised it's a segfault, rather than a more elegantly
handled error, but glad I'm not experiencing it anymore.

I've duplicated your suggested lines, in the hope that this would
relay the wave data from the soundcard without reencoding. I replaced
the alsa device name with the first device name which shows up when I
run

pacmd list-sources

...as the mpd user, the name of this device being...

alsa_output.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-stereo.monitor

Inspecting the soundcard through Alsa tools suggests that the hardware
shows up as...
mpd@gardner:/root$ cat /proc/asound/card0/pcm0p/sub0/hw_params
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 44100 (44100/1)
period_size: 44100
buffer_size: 88200
...so I'm guessing the mime type information matches with the
declaration you provided too.

Having launched rygel (logged in as the mpd user) and when trying to
stream using VLC on my desktop from the detected endpoint (which
appears correctly), rygel reports the sync error as normal when the
stream starts but doesn't report a critical Gstreamer error, so I
guess it's doing something. In all the incorrect configurations so
far, the stream died immediately, so this is something like progress.

However, I get VLC reporting 00:00 seconds in the stream and no sound
audible. Are you able to stream audible sound to VLC using the
configuration you shared with me?

Thanks for all your help. I would have given up long ago without
confident guidance on this. I've attached my current rygel
configuration and the pacmd report on my devices in case anything
leaps out which needs to be differently configured.

Cefn
http://cefn.com
Welcome to PulseAudio! Use "help" for usage information.
>>> Memory blocks currently allocated: 207, size: 453.4 KiB.
Memory blocks allocated during the whole lifetime: 16954713, size: 508.4 MiB.
Memory blocks imported from other processes: 128, size: 243.9 KiB.
Memory blocks exported to other processes: 0, size: 0 B.
Total sample cache size: 0 B.
Default sample spec: s16le 2ch 44100Hz
Default channel map: front-left,front-right
Default sink name: alsa_output.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-stereo
Default source name: alsa_input.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-mono
Memory blocks of type POOL: 79 allocated/11877193 accumulated.
Memory blocks of type POOL_EXTERNAL: 0 allocated/5544 accumulated.
Memory blocks of type APPENDED: 0 allocated/0 accumulated.
Memory blocks of type USER: 0 allocated/0 accumulated.
Memory blocks of type FIXED: 0 allocated/479184 accumulated.
Memory blocks of type IMPORTED: 128 allocated/4598336 accumulated.
19 module(s) loaded.
    index: 0
	name: <module-device-restore>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore the volume/mute state of devices"
		module.version = "1.1"
    index: 1
	name: <module-stream-restore>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore the volume/mute/device state of streams"
		module.version = "1.1"
    index: 2
	name: <module-card-restore>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore profile of cards"
		module.version = "1.1"
    index: 3
	name: <module-augment-properties>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Augment the property sets of streams with additional static information"
		module.version = "1.1"
    index: 4
	name: <module-alsa-card>
	argument: <device_id="0" name="usb-0d8c_C-Media_USB_Headphone_Set-00-Set" card_name="alsa_card.usb-0d8c_C-Media_USB_Headphone_Set-00-Set" namereg_fail=false tsched=yes ignore_dB=no deferred_volume=yes card_properties="module-udev-detect.discovered=1">
	used: 1
	load once: no
	properties:
		module.author = "Lennart Poettering"
		module.description = "ALSA Card"
		module.version = "1.1"
    index: 5
	name: <module-udev-detect>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Detect available audio hardware and load matching drivers"
		module.version = "1.1"
    index: 6
	name: <module-native-protocol-unix>
	argument: <>
	used: -1
	load once: no
	properties:
		module.author = "Lennart Poettering"
		module.description = "Native protocol (UNIX sockets)"
		module.version = "1.1"
    index: 7
	name: <module-default-device-restore>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically restore the default sink and source"
		module.version = "1.1"
    index: 8
	name: <module-rescue-streams>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "When a sink/source is removed, try to move their streams to the default sink/source"
		module.version = "1.1"
    index: 9
	name: <module-always-sink>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Colin Guthrie"
		module.description = "Always keeps at least one sink loaded even if it's a null one"
		module.version = "1.1"
    index: 10
	name: <module-intended-roles>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Automatically set device of streams based of intended roles of devices"
		module.version = "1.1"
    index: 11
	name: <module-suspend-on-idle>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "When a sink/source is idle for too long, suspend it"
		module.version = "1.1"
    index: 12
	name: <module-console-kit>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Create a client for each ConsoleKit session of this user"
		module.version = "1.1"
    index: 13
	name: <module-position-event-sounds>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Position event sounds between L and R depending on the position on screen of the widget triggering them."
		module.version = "1.1"
    index: 14
	name: <module-cork-music-on-phone>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Lennart Poettering"
		module.description = "Mute or cork music while a phone stream exists"
		module.version = "1.1"
    index: 15
	name: <module-filter-heuristics>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Colin Guthrie"
		module.description = "Detect when various filters are desirable"
		module.version = "1.1"
    index: 16
	name: <module-filter-apply>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Colin Guthrie"
		module.description = "Load filter sinks automatically when needed"
		module.version = "1.1"
    index: 17
	name: <module-dbus-protocol>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Tanu Kaskinen"
		module.description = "D-Bus interface"
		module.version = "1.1"
    index: 18
	name: <module-cli-protocol-unix>
	argument: <>
	used: -1
	load once: no
	properties:
		module.author = "Lennart Poettering"
		module.description = "Command line interface protocol (UNIX sockets)"
		module.version = "1.1"
1 sink(s) available.
  * index: 0
	name: <alsa_output.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL LATENCY DYNAMIC_LATENCY
	state: RUNNING
	suspend cause: 
	priority: 9449
	volume: 0: 100% 1: 100%
	        balance 0.00
	base volume: 100%
	volume steps: 256
	muted: no
	current latency: 212.61 ms
	max request: 36 KiB
	max rewind: 344 KiB
	monitor source: 0
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 1
	linked by: 1
	configured latency: 210.00 ms; range is 26.00 .. 2000.00 ms
	card: 0 <alsa_card.usb-0d8c_C-Media_USB_Headphone_Set-00-Set>
	module: 4
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "USB Audio"
		alsa.id = "USB Audio"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "C-Media USB Headphone Set"
		alsa.long_card_name = "C-Media USB Headphone Set at usb-orion-ehci.0-1.1, full speed"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "platform-orion-ehci.0-usb-0:1.1:1.0"
		sysfs.path = "/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/sound/card0"
		udev.id = "usb-0d8c_C-Media_USB_Headphone_Set-00-Set"
		device.bus = "usb"
		device.vendor.id = "0d8c"
		device.vendor.name = "0d8c"
		device.product.id = "000c"
		device.product.name = "C-Media USB Headphone Set  "
		device.serial = "0d8c_C-Media_USB_Headphone_Set"
		device.form_factor = "headphone"
		device.string = "front:0"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-stereo"
		device.profile.description = "Analog Stereo"
		device.description = "C-Media USB Headphone Set   Analog Stereo"
		alsa.mixer_name = "USB Mixer"
		alsa.components = "USB0d8c:000c"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-headphones-usb"
2 source(s) available.
    index: 0
	name: <alsa_output.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-stereo.monitor>
	driver: <module-alsa-card.c>
	flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: IDLE
	suspend cause: 
	priority: 1440
	volume: 0: 100% 1: 100%
	        0: 0.00 dB 1: 0.00 dB
	        balance 0.00
	base volume: 100%
	             0.00 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max rewind: 344 KiB
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 0
	linked by: 0
	configured latency: 2000.00 ms; range is 26.00 .. 2000.00 ms
	monitor_of: 0
	card: 0 <alsa_card.usb-0d8c_C-Media_USB_Headphone_Set-00-Set>
	module: 4
	properties:
		device.description = "Monitor of C-Media USB Headphone Set   Analog Stereo"
		device.class = "monitor"
		alsa.card = "0"
		alsa.card_name = "C-Media USB Headphone Set"
		alsa.long_card_name = "C-Media USB Headphone Set at usb-orion-ehci.0-1.1, full speed"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "platform-orion-ehci.0-usb-0:1.1:1.0"
		sysfs.path = "/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/sound/card0"
		udev.id = "usb-0d8c_C-Media_USB_Headphone_Set-00-Set"
		device.bus = "usb"
		device.vendor.id = "0d8c"
		device.vendor.name = "0d8c"
		device.product.id = "000c"
		device.product.name = "C-Media USB Headphone Set  "
		device.serial = "0d8c_C-Media_USB_Headphone_Set"
		device.form_factor = "headphone"
		device.string = "0"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-headphones-usb"
  * index: 1
	name: <alsa_input.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-mono>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE 
	priority: 9449
	volume: 0:  40%
	        0: -23.81 dB
	        balance 0.00
	base volume:  40%
	             -23.81 dB
	volume steps: 65537
	muted: no
	current latency: 0.00 ms
	max rewind: 0 KiB
	sample spec: s16le 1ch 44100Hz
	channel map: mono
	             Mono
	used by: 0
	linked by: 0
	configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
	card: 0 <alsa_card.usb-0d8c_C-Media_USB_Headphone_Set-00-Set>
	module: 4
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "USB Audio"
		alsa.id = "USB Audio"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "C-Media USB Headphone Set"
		alsa.long_card_name = "C-Media USB Headphone Set at usb-orion-ehci.0-1.1, full speed"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "platform-orion-ehci.0-usb-0:1.1:1.0"
		sysfs.path = "/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/sound/card0"
		udev.id = "usb-0d8c_C-Media_USB_Headphone_Set-00-Set"
		device.bus = "usb"
		device.vendor.id = "0d8c"
		device.vendor.name = "0d8c"
		device.product.id = "000c"
		device.product.name = "C-Media USB Headphone Set  "
		device.serial = "0d8c_C-Media_USB_Headphone_Set"
		device.form_factor = "headphone"
		device.string = "hw:0"
		device.buffering.buffer_size = "176400"
		device.buffering.fragment_size = "88200"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-mono"
		device.profile.description = "Analog Mono"
		device.description = "C-Media USB Headphone Set   Analog Mono"
		alsa.mixer_name = "USB Mixer"
		alsa.components = "USB0d8c:000c"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-headphones-usb"
2 client(s) logged in.
    index: 2
	driver: <protocol-native.c>
	owner module: 6
	properties:
		application.name = "Music Player Daemon"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "23"
		media.role = "music"
		application.process.id = "2251"
		application.process.user = "root"
		application.process.host = "gardner"
		application.process.binary = "threaded-ml"
		application.language = "C"
		application.process.machine_id = "3bc3212927ef79ca1c9e685300000b5d"
    index: 49
	driver: <cli.c>
	owner module: 18
	properties:
		application.name = "UNIX socket client"
1 card(s) available.
    index: 0
	name: <alsa_card.usb-0d8c_C-Media_USB_Headphone_Set-00-Set>
	driver: <module-alsa-card.c>
	owner module: 4
	properties:
		alsa.card = "0"
		alsa.card_name = "C-Media USB Headphone Set"
		alsa.long_card_name = "C-Media USB Headphone Set at usb-orion-ehci.0-1.1, full speed"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "platform-orion-ehci.0-usb-0:1.1:1.0"
		sysfs.path = "/devices/platform/orion-ehci.0/usb1/1-1/1-1.1/1-1.1:1.0/sound/card0"
		udev.id = "usb-0d8c_C-Media_USB_Headphone_Set-00-Set"
		device.bus = "usb"
		device.vendor.id = "0d8c"
		device.vendor.name = "0d8c"
		device.product.id = "000c"
		device.product.name = "C-Media USB Headphone Set  "
		device.serial = "0d8c_C-Media_USB_Headphone_Set"
		device.form_factor = "headphone"
		device.string = "0"
		device.description = "C-Media USB Headphone Set  "
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-headphones-usb"
	profiles:
		output:analog-stereo: Analog Stereo Output (priority 6000)
		output:analog-stereo+input:analog-mono: Analog Stereo Output + Analog Mono Input (priority 6001)
		output:iec958-stereo: Digital Stereo (IEC958) Output (priority 5500)
		output:iec958-stereo+input:analog-mono: Digital Stereo (IEC958) Output + Analog Mono Input (priority 5501)
		input:analog-mono: Analog Mono Input (priority 1)
		off: Off (priority 0)
	active profile: <output:analog-stereo+input:analog-mono>
	sinks:
		alsa_output.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-stereo/#0: C-Media USB Headphone Set   Analog Stereo
	sources:
		alsa_output.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-stereo.monitor/#0: Monitor of C-Media USB Headphone Set   Analog Stereo
		alsa_input.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-mono/#1: C-Media USB Headphone Set   Analog Mono
1 sink input(s) available.
    index: 10
	driver: <protocol-native.c>
	flags: 
	state: RUNNING
	sink: 0 <alsa_output.usb-0d8c_C-Media_USB_Headphone_Set-00-Set.analog-stereo>
	volume: 0:   0% 1:   0%
	        0: -inf dB 1: -inf dB
	        balance 0.00
	muted: no
	current latency: 82.00 ms
	requested latency: 210.00 ms
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	resample method: (null)
	module: 6
	client: 2 <Music Player Daemon>
	properties:
		media.name = "My Pulse Output"
		application.name = "Music Player Daemon"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "23"
		media.role = "music"
		application.process.id = "2251"
		application.process.user = "root"
		application.process.host = "gardner"
		application.process.binary = "threaded-ml"
		application.language = "C"
		application.process.machine_id = "3bc3212927ef79ca1c9e685300000b5d"
		module-stream-restore.id = "sink-input-by-media-role:music"
0 source outputs(s) available.
0 cache entrie(s) available.
>>> 

Attachment: rygel.conf
Description: Binary data



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