• Pete Beardmore's avatar
    PulseOutputPlugin: avoid locking mainloop object from within mainloop thread · 9da57e74
    Pete Beardmore authored
    -fixes regression introduced by:
     '8d6fedf8 [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
    9da57e74
PulseMixerPlugin.cxx 5.07 KB