1. 16 Nov, 2018 1 commit
    • Max Kellermann's avatar
      output/alsa: don't call snd_pcm_drain() if nothing was written · 4cdcaa86
      Max Kellermann authored
      Works around a problem where MPD goes into a busy loop because
      snd_pcm_drain() always returns `-EAGAIN` without making any progress
      (fixes #425).
      
      This problem was triggered by snd_pcm_drain() after snd_pcm_cancel()
      and snd_pcm_prepare(), but without submitting any data with
      snd_pcm_writei().
      
      I believe this is a kernel bug: in non-blocking mode, the kernel's
      snd_pcm_drain() function returns early.  In this mode, it only checks
      whether snd_pcm_drain_done() has been called already, but
      snd_pcm_drain_done() is never called if no data was submitted.
      
      In blocking mode, the following `for` loop detects this condition, so
      snd_pcm_drain_done() is not necessary, but without this extra check,
      we get `-EAGAIN` forever.
      4cdcaa86
  2. 14 Nov, 2018 12 commits
  3. 11 Nov, 2018 2 commits
  4. 31 Oct, 2018 1 commit
  5. 16 Jul, 2018 1 commit
  6. 03 May, 2018 1 commit
  7. 26 Apr, 2018 9 commits
  8. 10 Apr, 2018 1 commit
  9. 02 Jan, 2018 1 commit
  10. 19 Dec, 2017 2 commits
  11. 14 Nov, 2017 3 commits
  12. 12 Nov, 2017 2 commits
  13. 10 Nov, 2017 1 commit
    • Max Kellermann's avatar
      output/alsa: add "allowed_formats" setting · 44c60567
      Max Kellermann authored
      Allows defining a list of supported audio formats, and allows
      switching on and off DoP with certain formats.
      
      This is a first rough draft.  The setting syntax and its semantics may
      still be redesigned.
      44c60567
  14. 26 Oct, 2017 3 commits