Ticket #356 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

esdplay works, but Gnome System Sounds do not

Reported by: Lupine Owned by: lennart
Milestone: Component: daemon
Keywords: Cc:

Description

While watching "pulseaudio -vvv", and running the command: esdplay /opt/gnome/share/sounds/startup3.wav, I see the following output:

I: client.c: Created 1 "EsounD client (UNIX socket client)"
I: client.c: Client 1 changed name from "EsounD client (UNIX socket client)" to "esdplay:/opt/gnome/share/sounds/startup3.wav"
I: module-volume-restore.c: Restoring sink for <pulsecore/protocol-esound.c$esdplay:/opt/gnome/share/sounds/startup3.wav>
I: module-volume-restore.c: Restoring volume for <pulsecore/protocol-esound.c$esdplay:/opt/gnome/share/sounds/startup3.wav>
I: module-alsa-sink.c: Trying resume...
D: alsa-util.c: Maximum hw buffer size is 371 ms
D: module-alsa-sink.c: hwbuf_unused_frames=0
D: module-alsa-sink.c: setting avail_min=62005
I: module-alsa-sink.c: Resumed successfully...
D: module-suspend-on-idle.c: Sink alsa_output.pci_8086_266e_alsa_playback_0 becomes idle.
D: module-suspend-on-idle.c: Sink alsa_output.pci_8086_266e_alsa_playback_0 becomes busy.
D: memblockq.c: memblockq requested: maxlength=33554432, tlength=0, base=4, prebuf=0, minreq=1 maxrewind=0
D: memblockq.c: memblockq sanitized: maxlength=33554432, tlength=33554432, base=4, prebuf=0, minreq=4 maxrewind=0
I: sink-input.c: Created input 0 "(null)" on alsa_output.pci_8086_266e_alsa_playback_0 with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
D: memblockq.c: memblockq requested: maxlength=44100, tlength=44100, base=4, prebuf=4294967295, minreq=4410 maxrewind=0
D: memblockq.c: memblockq sanitized: maxlength=44100, tlength=44100, base=4, prebuf=44100, minreq=4408 maxrewind=0
I: module-alsa-sink.c: Starting playback.
D: module-alsa-sink.c: latency set to 150.00
D: module-alsa-sink.c: hwbuf_unused_frames=9769
D: module-alsa-sink.c: setting avail_min=32702
D: module-alsa-sink.c: Requesting rewind due to latency change.
D: module-alsa-sink.c: Requested to rewind 65536 bytes.
D: module-alsa-sink.c: Limited to 50948 bytes.
D: module-alsa-sink.c: before: 12737
D: module-alsa-sink.c: after: 12737
D: module-alsa-sink.c: Rewound 50948 bytes.
D: sink.c: Processing rewind...
D: sink-input.c: Have to rewind 50948 bytes on render memblockq.
D: protocol-esound.c: Requesting rewind due to end of underrun.
D: module-alsa-sink.c: Requested to rewind 65536 bytes.
D: module-alsa-sink.c: Limited to 22880 bytes.
D: module-alsa-sink.c: before: 5720
D: module-alsa-sink.c: after: 5720
D: module-alsa-sink.c: Rewound 22880 bytes.
D: sink.c: Processing rewind...
D: sink-input.c: Have to rewind 22880 bytes on render memblockq.
D: protocol-esound.c: read(): EOF
D: module-suspend-on-idle.c: Sink alsa_output.pci_8086_266e_alsa_playback_0 becomes idle.
D: module-alsa-sink.c: hwbuf_unused_frames=0
D: module-alsa-sink.c: setting avail_min=62005
D: module-alsa-sink.c: Requested to rewind 65536 bytes.
D: module-alsa-sink.c: Limited to 22864 bytes.
D: module-alsa-sink.c: before: 5716
D: module-alsa-sink.c: after: 5716
D: module-alsa-sink.c: Rewound 22864 bytes.
D: sink.c: Processing rewind...
D: module-suspend-on-idle.c: Sink alsa_output.pci_8086_266e_alsa_playback_0 becomes idle.
I: sink-input.c: Freeing input 0 "(null)"
I: client.c: Freed 1 "esdplay:/opt/gnome/share/sounds/startup3.wav"
I: module-suspend-on-idle.c: Sink alsa_output.pci_8086_266e_alsa_playback_0 idle for too long, suspending ...
I: module-alsa-sink.c: Device suspended...

However, if I launch gnome-sound-properties click "Sounds" tab, and then the Play button on any of the sounds, I get this output:

D: memblock.c: Memory block too large for pool: 884216 > 65536
D: core-scache.c: Created sample "esound.32181-1284845467-416427201" (#1), 0 bytes with sample spec Invalid
D: core-scache.c: Created sample "esound.32181-1284845467-416427201" (#1), 884216 bytes with sample spec s16le 2ch 44100Hz
D: core-scache.c: Playing sample "esound.32181-1284845467-416427201" on "alsa_output.pci_8086_266e_alsa_playback_0"
D: memblockq.c: memblockq requested: maxlength=884216, tlength=0, base=4, prebuf=1, minreq=1 maxrewind=0
D: memblockq.c: memblockq sanitized: maxlength=884216, tlength=884216, base=4, prebuf=4, minreq=4 maxrewind=0
D: sink-input.c: Assertion 'pa_channel_map_valid(&data->channel_map)' failed at pulsecore/sink-input.c:150, function pa_sink_input_new.
D: core-scache.c: Removed sample "esound.32181-1284845467-416427201"
D: protocol-esound.c: read(): EOF
I: client.c: Freed 9 "EsounD client (UNIX socket client)"

Why does one work, and the other does not? I have attached a strace of launching gnome-sound-properties and clicking on Play for the sounds.

Attachments

gnome-sound-properties.strace.bz2 (47.9 kB) - added by Lupine 3 years ago.

Change History

Changed 3 years ago by Lupine

Changed 3 years ago by coling

You've not mentioned what version of pulse you are using, not which version of gnome you are using.

These days, Gnome does not do it's own sounds but rather implements the sound theme spec at a GTK level and triggers some sounds (e.g. startup) in gnome-session (I think). This is done via libcanberra (a library which implements the sound theme spec and written by the pulseaudio author!), and it works very well with both pulseaudio 0.9.12 and alsa (including alsa->pulse plugin provided the latest alsa 1.0.18rc3 is used). Libcanberra is plugged into gnome via a GTK module so event sounds are more or less automatic in all GTK apps.

Changed 3 years ago by Lupine

My apologies for not submitting all the relevant information. This is for a Linux From Scratch built OS running Gnome 2.22.3 and PulseAudio v0.9.12.

Changed 3 years ago by coling

While this may not help you now, upcoming gnome 2.24 will not use esd at all for system sounds.. as mentioned above it's all libcanberra.

Changed 3 years ago by Lupine

Yeah, and since that is due out in a couple of days now, probably best just to wait until that happens, and see if the problem remains. I was hoping this was just a "quick fix" or known issue type of thing, if not...then no biggie, I can just wait for 2.24.

Changed 3 years ago by coling

Well I can confirm that playing any sound in gnome-sound-properties works fine here with the new gnome. Quite why it didn't work with esdplay I don't know, but I'd hazard a guess it relates to sample caching and sound files that go beyond the limit so it may be due to the sounds you have selected (and their physical size which is too big for caching? Just a wild guess.

There may be another quick fix, but I don't know it :)

Changed 3 years ago by lennart

  • status changed from new to closed
  • resolution set to fixed

THis is fixed in PA 0.9.13.

Note: See TracTickets for help on using tickets.