hi,
with Max Kellermann's excellent explanation and direction
(hand-holding).. please consider merging
http://git.musicpd.org/cgit/elbeardmorez/mpd.git/commit/?h=pulse.thread.fix.2&id=9da57e7458ed2e539ba1693ca748c0e5c7969585
PulseOutputPlugin: avoid locking mainloop object from within
mainloop thread
-fixes regression introduced by:
'8d6fedf8177d0d2ced81e6d93d35c368b2ac69db [PATCH] Mixer: add
class MixerListener'
-listener.OnMixerVolumeChanged() called GetVolume() which
attempted to acquire
the lock but as per 'pa_threaded_mainloop_lock()' documentation:
This function may not be called inside the event loop thread.
Events that are
dispatched from the event loop thread are executed with this lock held
-this patch seperates the underlying action of GetVolume() into a new
GetVolumeInternal() function, to be called only when the lock is
already held, as
is the case for the listener.OnMixerVolumeChanged() call
with mpd master.
cheers,
Pete
_______________________________________________
mpd-devel mailing list
[email protected]
http://mailman.blarg.de/listinfo/mpd-devel