1. 16 Mar, 2019 1 commit
  2. 08 Mar, 2019 1 commit
  3. 26 Jan, 2019 1 commit
    • Yue Wang's avatar
      [OSXOutput] Throw an error when device not found · 42b22187
      Yue Wang authored
      Currently it falls back to system default device (either internal speaker or headphone) when device not found. 
      I believe it is a better to fail in this case, to make it better aligned with platforms (such as alsa).
      42b22187
  4. 21 Jan, 2019 1 commit
  5. 19 Jan, 2019 1 commit
  6. 28 Dec, 2018 5 commits
  7. 14 Dec, 2018 1 commit
  8. 19 Nov, 2018 1 commit
    • Max Kellermann's avatar
      check.h: remove obsolete header · ce49d99c
      Max Kellermann authored
      Since we switched from autotools to Meson in commit
      94592c14, we don't need to include
      `config.h` early to properly enable large file support.  Meson passes
      the required macros on the compiler command line instead of defining
      them in `config.h`.
      
      This means we can include `config.h` at any time, whenever we want to
      check its macros, and there are no ordering constraints.
      ce49d99c
  9. 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
  10. 14 Nov, 2018 12 commits
  11. 12 Nov, 2018 6 commits
  12. 11 Nov, 2018 2 commits
  13. 08 Nov, 2018 1 commit
    • Max Kellermann's avatar
      output/httpd: fix nullptr dereference crash bug · 583208db
      Max Kellermann authored
      When `metadata_sent` is `false`, the plugin assumes there is metadata
      which must be sent, even if no metadata page was passed to the plugin.
      Initializing it to `true` avoids dereferencing this `nullptr`.
      
      Fixes #412
      583208db
  14. 06 Nov, 2018 1 commit
    • Max Kellermann's avatar
      output/Source: reset current_chunk in Open() · b1fe1059
      Max Kellermann authored
      If the output is already open, the `current_chunk` pointer may be
      bogus and out of sync with `SharedPipeConsumer::chunk`, leading to an
      assertion failure in `SharedPipeConsumer::Consume()`.
      
      Fixes #411
      b1fe1059
  15. 31 Oct, 2018 2 commits
    • Max Kellermann's avatar
      *: copyright year 2018 · f5c90714
      Max Kellermann authored
      f5c90714
    • Max Kellermann's avatar
      output/roar: remove · 06ca08ce
      Max Kellermann authored
      Bugs in libroar which broke the MPD build have been annoying me for
      quite some time, and the newest bug has now hit my main build machine:
      
       https://github.com/MusicPlayerDaemon/MPD/issues/377
      
      Problem is the usage of the typedef `_IO_off64_t` in libroar's
      `vio_stdio.h`:
      
       int roar_vio_to_stdio_lseek (void *__cookie, _IO_off64_t *__pos, int __w);
      
      This `_IO_off64_t` is an internal implementation detail of glibc and
      was removed in version 2.28.  Nobody must ever use it.  Why the ****
      did the RoarAudio developers use it?  Not using internal typedefs
      isn't exactly rocket science.
      
      This annoys me enough to finally remove the plugin.  Anyway, I've
      never heard of anybody using RoarAudio, so my best guess is that
      nobody will notice.
      06ca08ce
  16. 30 Oct, 2018 1 commit
  17. 14 Oct, 2018 1 commit
    • Max Kellermann's avatar
      build with Meson instead of autotools · 94592c14
      Max Kellermann authored
      So long, autotools!  This is my last MPD related project to migrate
      away from it.  It has its strengths, but also very obvious weaknesses
      and weirdnesses.  Today, many of its quirks are not needed anymore,
      and are cumbersome and slow.  Now welcome our new Meson overlords!
      94592c14
  18. 22 Sep, 2018 1 commit