• Max Kellermann's avatar
    output/alsa: non-blocking mode · b1c7649e
    Max Kellermann authored
    Use SND_PCM_NONBLOCK, and perform all snd_pcm_writei() calls in the
    IOThread.  Use a lockless queue to copy data from the OutputThread to
    the IOThread.
    
    This rather major change aims to improve MPD's internal latency.  All
    waits are now under MPD's control, instead of blocking inside
    libasound2.
    
    As a side effect, an output's filter is now decoupled from the actual
    device I/O, which solves a major latency problem with the conversion
    filter on slow CPUs and small period buffers.  See:
    
     https://bugs.musicpd.org/view.php?id=3900
    b1c7649e
To find the state of this project's repository at the time of any of these versions, check out the tags.
NEWS 60.7 KB