Ticket #513 (closed defect: elsewhere)

Opened 3 years ago

Last modified 3 years ago

Pulse mixer doesn't work over tcp

Reported by: avuton Owned by: lennart
Milestone: 0.9.15 Component: daemon
Keywords: Cc:

Description

When trying to use the new pulse mixer over the tcp plugin libpulse has a tendency to have crazy bugs in pulseaudio-0.9.14.

I, personally, have not been able to reproduce these bugs when directly connected or without the pulseaudio mixer patch. I am not at all saying that all these are actually pulseaudio bugs, but some of them may be of interest to this project, especially the MPD uses all available CPU%.

Here's the source for the mixer

http://git.musicpd.org/cgit/cirrus/mpd.git/tree/src/mixer/pulse_mixer.c

MPD uses all available CPU%.

http://musicpd.org/mantis/view.php?id=2133

0002140: queue.c: Assertion 'q->front' failed at pulsecore/queue.c:83, function http://musicpd.org/mantis/view.php?id=2140

0002139: Mixer will not listen to the volume that I try to put it to.

http://musicpd.org/mantis/view.php?id=2139

0002138: Mixer shows bizarre levels of volume

http://musicpd.org/mantis/view.php?id=2138

0002137: Received mainloop.c: Assertion 't' failed at pulse/mainloop.c:746, function

http://musicpd.org/mantis/view.php?id=2137

0002136: MPD crashes when playing another stream on local pulseaudio server.

Change History

Changed 3 years ago by lennart

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

The MPD driver appears to be very racy. It needs to lock the event loop in pulse_mixer_get_volume(). Otherwise the event thread and the trhead calling that function will intefere with each others data.

Note: See TracTickets for help on using tickets.