1. 16 Jan, 2010 5 commits
  2. 01 Jan, 2010 1 commit
  3. 02 Dec, 2009 1 commit
  4. 12 Nov, 2009 1 commit
    • Max Kellermann's avatar
      include config.h in all sources · 5b82ffc2
      Max Kellermann authored
      After we've been hit by Large File Support problems several times in
      the past week (which only occur on 32 bit platforms, which I don't
      have), this is yet another attempt to fix the issue.
      5b82ffc2
  5. 09 Nov, 2009 1 commit
    • Max Kellermann's avatar
      output/alsa: fill period buffer with silence before draining · 54033c74
      Max Kellermann authored
      ALSA passes full period buffers to the hardware.  If an application
      doesn't finish writing a period, libasound will nonetheless send the
      partial buffer (with undefined trailing data).  This causes noise at
      the end of playback.  This patch attempts to track the current
      position within the period buffer, and generates silence at the end,
      before calling snd_pcm_drain().
      54033c74
  6. 03 Nov, 2009 1 commit
    • Jeffrey Middleton's avatar
      alsa_plugin.c: workaround snd_pcm_drain bug · 4dc25d39
      Jeffrey Middleton authored
      Reintroduce a fix from commit 52a06531 (Warren Dukes): "don't call
      snd_pcm_drain unless we're already in the RUNNING state". This prevents
      ALSA with dmix from sometimes hanging when snd_pcm_drain is called, e.g.
      when moving from one song to the next (as in mantis issue 2634).
      4dc25d39
  7. 29 Oct, 2009 2 commits
    • Max Kellermann's avatar
      output_plugin: added method "drain" · 1403172e
      Max Kellermann authored
      drain() is the opposite of cancel(): it waits until all data in the
      buffer has finished playing.  Instead of implicitly draining in the
      close() method like the ALSA plugin has been doing it forever, let the
      output thread decide whether to drain or to cancel.
      1403172e
    • Max Kellermann's avatar
      output/alsa: don't recover on CANCEL · f74ee1a3
      Max Kellermann authored
      The recovery is for nothing if we get CLOSE afterwards.  Let's not
      recover in the cancel() method, and let the next play() call sort it
      out.
      f74ee1a3
  8. 20 Oct, 2009 1 commit
  9. 19 Jul, 2009 1 commit
  10. 21 Apr, 2009 1 commit
  11. 26 Mar, 2009 1 commit
  12. 14 Mar, 2009 2 commits
  13. 13 Mar, 2009 1 commit
    • Avuton Olrich's avatar
      all: Update copyright header. · 0aee49bd
      Avuton Olrich authored
      This updates the copyright header to all be the same, which is
      pretty much an update of where to mail request for a copy of the GPL
      and the years of the MPD project. This also puts all committers under
      'The Music Player Project' umbrella. These entries should go
      individually in the AUTHORS file, for consistancy.
      0aee49bd
  14. 10 Mar, 2009 2 commits
  15. 08 Mar, 2009 2 commits
    • Max Kellermann's avatar
      alsa: determine buffer_time if not already known · ab656a52
      Max Kellermann authored
      This patch fixes a theoretical (but practically impossible) flaw: the
      variable "buffer_time" may be uninitialized when it is used.
      Initialize the variable with snd_pcm_hw_params_get_buffer_time().
      ab656a52
    • Max Kellermann's avatar
      alsa: better period_time default value for high sample rates · 554a34fb
      Max Kellermann authored
      The default values for buffer_time and period_time were both capped by
      the hardware limits on practically all chips.  The result was a
      period_time which was half as big as the buffer_time.  On some chips,
      this led to lots of underruns when using a high sample rate (192 kHz),
      because MPD had very little time to send new samples to ALSA.
      
      A period time which is one fourth of the buffer time turned out to be
      much better.  If no period_time is configured, see how much
      buffer_time the hardware accepts, and try to configure one fourth of
      it as period_time, instead of hard-coding the default period_time
      value.
      
      This is yet another attempt to provide a solution which is valid for
      all sound chips.  Using the SND_PCM_NONBLOCK flag also seemed to solve
      the underruns, but put a lot more CPU load to MPD.
      554a34fb
  16. 03 Mar, 2009 2 commits
  17. 02 Mar, 2009 1 commit
  18. 01 Mar, 2009 1 commit
  19. 26 Feb, 2009 1 commit
    • Max Kellermann's avatar
      output_plugin: report errors with GError · ec926539
      Max Kellermann authored
      Use GLib's GError library for reporting output device failures.
      
      Note that some init() methods don't clean up properly after a failure,
      but that's ok for now, because the MPD core will abort anyway.
      ec926539
  20. 25 Feb, 2009 3 commits
  21. 23 Feb, 2009 2 commits
    • Max Kellermann's avatar
      output: pass the music chunk pointer as void*, not char* · a4dfab2a
      Max Kellermann authored
      The meaning of the chunk depends on the audio format; don't suggest a
      specific format by declaring the pointer as "char*", pass "void*"
      instead.
      a4dfab2a
    • Max Kellermann's avatar
      output_api: play() returns a length · 5a898c15
      Max Kellermann authored
      The old API required an output plugin to not return until all data
      passed to the play() method is consumed.  Some output plugins have to
      loop to fulfill that requirement, and may block during that.  Simplify
      these, by letting them consume only part of the buffer: make play()
      return the length of the consumed data.
      5a898c15
  22. 16 Feb, 2009 1 commit
  23. 25 Jan, 2009 6 commits