1. 06 Oct, 2011 1 commit
  2. 19 Sep, 2011 1 commit
  3. 01 Sep, 2011 2 commits
    • Max Kellermann's avatar
      output_all: move _lock_signal() to output_control.c · 2be6184c
      Max Kellermann authored
      Better name, better documentation.
      2be6184c
    • Max Kellermann's avatar
      output_thread: reimplement CANCEL synchronization · 8b0b4ff0
      Max Kellermann authored
      The output thread could hang indefinitely after finishing CANCEL,
      because it could have missed the signal while the output was not
      unlocked in ao_command_finished().
      
      This patch removes the wait() call after CANCEL, and adds the flag
      "allow_play" instead.  While this flag is set, playback is skipped.
      With this flag, there will not be any excess wait() call after the
      pipe has been cleared.
      
      This patch fixes a bug that causes mpd to discontinue playback after
      seeking, due to the race condition described above.
      8b0b4ff0
  4. 30 Aug, 2011 1 commit
  5. 16 Mar, 2011 1 commit
  6. 29 Jan, 2011 1 commit
  7. 10 Jan, 2011 3 commits
  8. 04 Nov, 2010 2 commits
  9. 02 May, 2010 2 commits
  10. 10 Mar, 2010 1 commit
    • Max Kellermann's avatar
      output: added option "always_on" for radio stations · e686d191
      Max Kellermann authored
      Did you ever accidently click "stop" while feeding a radio station?
      This option sets the output device to "pause" to disable the "close"
      method.  It falls back to "pause" then, which is specific to the
      plugin.  Some plugins implement it by feeding silence.
      e686d191
  11. 01 Jan, 2010 1 commit
  12. 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
  13. 09 Nov, 2009 1 commit
  14. 02 Nov, 2009 2 commits
  15. 29 Oct, 2009 2 commits
  16. 23 Oct, 2009 1 commit
    • Max Kellermann's avatar
      output_plugin: added methods enable() and disable() · e53ca368
      Max Kellermann authored
      With these methods, an output plugin can allocate some global
      resources only if it is actually enabled.  The method enable() is
      called after daemonization, which allows for more sophisticated
      resource allocation during that method.
      e53ca368
  17. 20 Oct, 2009 1 commit
  18. 14 Aug, 2009 1 commit
    • Max Kellermann's avatar
      output: fixed shout stuck pause bug · 7133f560
      Max Kellermann authored
      Explicitly make the output thread leave the ao_pause() loop.  This
      patch is a workaround, and the "pause" flag is not managed in a
      thread-safe way, but that's good enough for now.
      7133f560
  19. 06 Jul, 2009 2 commits
    • Max Kellermann's avatar
      output: attach a filter chain to each audio_output · e47bdfe8
      Max Kellermann authored
      This patch adds initial filter support for audio outputs.  Each audio
      output gets a "filter" attribute, which is used by ao_play_chunk().
      
      The PCM conversion is now performed by convert_filter_plugin.
      audio_output.convert_state has been removed.
      e47bdfe8
    • Max Kellermann's avatar
      output: added command REOPEN · 78fa3f06
      Max Kellermann authored
      REOPEN is called when the input audio format changes.  The output
      thread may be reconfigure the PCM converter.
      78fa3f06
  20. 21 Apr, 2009 1 commit
  21. 26 Mar, 2009 2 commits
    • Max Kellermann's avatar
      mixer: added flag "open" · 617a4fd2
      Max Kellermann authored
      Remember if a mixer object is open or closed.  Don't call open() again
      if it is already open.  This guarantees that the mixer plugin is
      always called in a consistent state, and we will be able to remove
      lots of checks from the implementations.
      
      To support mixers which are automatically opened even if the audio
      output is still closed (to set the volume before playback starts),
      this patch also adds the "global" flag to the mixer_plugin struct.
      Both ALSA and OSS set this flag, while PULSE does not.
      617a4fd2
    • Max Kellermann's avatar
      output_plugin: replaced output_plugin.get_mixer() with mixer_plugin · 66a2c566
      Max Kellermann authored
      The mixer core library is now responsible for creating and managing
      the mixer object.  This removes duplicated code from the output
      plugins.
      66a2c566
  22. 20 Mar, 2009 2 commits
  23. 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
  24. 10 Mar, 2009 1 commit
  25. 09 Mar, 2009 2 commits
    • Max Kellermann's avatar
      output: play from a music_pipe object · 3291666b
      Max Kellermann authored
      Instead of passing individual buffers to audio_output_all_play(), pass
      music_chunk objects.  Append all those chunks asynchronously to a
      music_pipe instance.  All output threads may then read chunks from
      this pipe.  This reduces MPD's internal latency by an order of
      magnitude.
      3291666b
    • Max Kellermann's avatar
      output_control: make audio_output_open() static · 8de179ef
      Max Kellermann authored
      audio_output_open() is only called by audio_output_update().  Don't
      export it.
      8de179ef
  26. 07 Mar, 2009 1 commit
  27. 28 Feb, 2009 1 commit
  28. 23 Feb, 2009 1 commit
  29. 16 Feb, 2009 1 commit