1. 19 Feb, 2017 5 commits
  2. 18 Feb, 2017 1 commit
  3. 17 Feb, 2017 8 commits
  4. 15 Feb, 2017 1 commit
  5. 11 Feb, 2017 6 commits
  6. 10 Feb, 2017 18 commits
  7. 09 Feb, 2017 1 commit
    • 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