1. 02 Oct, 2013 1 commit
  2. 26 Sep, 2013 1 commit
  3. 03 Aug, 2013 1 commit
  4. 30 Jan, 2013 1 commit
  5. 05 Jan, 2013 1 commit
  6. 04 Jan, 2013 1 commit
  7. 19 Sep, 2011 1 commit
  8. 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
  9. 29 Jan, 2011 1 commit
  10. 10 Jan, 2011 1 commit
  11. 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
  12. 01 Jan, 2010 1 commit
  13. 09 Nov, 2009 1 commit
  14. 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
  15. 20 Oct, 2009 1 commit
  16. 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
  17. 10 Mar, 2009 1 commit
  18. 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
  19. 07 Mar, 2009 1 commit
  20. 01 Mar, 2009 1 commit
  21. 25 Feb, 2009 1 commit
  22. 23 Feb, 2009 1 commit
  23. 15 Feb, 2009 1 commit
  24. 25 Jan, 2009 1 commit
  25. 18 Jan, 2009 1 commit
  26. 17 Jan, 2009 1 commit
  27. 31 Oct, 2008 1 commit
    • Max Kellermann's avatar
      added prefix to header macros · ea515494
      Max Kellermann authored
      "LOG_H" is a macro which is also used by ffmpeg/log.h.  This is
      ffmpeg's fault, because short macros should be reserved for
      applications, but since it's always a good idea to choose prefixed
      macro names, even for applications, we are going to do that in MPD.
      ea515494
  28. 29 Oct, 2008 2 commits
  29. 08 Oct, 2008 1 commit
  30. 29 Sep, 2008 1 commit
    • Max Kellermann's avatar
      audio_output: added method pause() · 6e21e24c
      Max Kellermann authored
      pause() puts the audio output into pause mode: if supported, it may
      perform a special action, which keeps the device open, but does not
      play anything.  Output plugins like "shout" might want to play silence
      during pause, so their clients won't be disconnected.  Plugins which
      do not support pausing will simply be closed, and have to be reopened
      when unpaused.
      
      This pach includes an implementation for the shout plugin, which
      sends silence chunks.
      6e21e24c
  31. 26 Sep, 2008 1 commit
    • Max Kellermann's avatar
      audio_output: workaround for deadlock · e2a12dee
      Max Kellermann authored
      During debugging, I found a deadlock between flushAudioBuffer() and
      the audio_output_task(): audio_output_task() didn't notice that there
      is a command, and flushAudioBuffer() waited forever in notify_wait().
      I am not sure yet what is the real cause; work around this for now by
      waking up non-finished audio outputs in every iteration.
      e2a12dee
  32. 24 Sep, 2008 1 commit
    • Max Kellermann's avatar
      output: semi-asynchronous playback · 2b782b82
      Max Kellermann authored
      Send an output buffer to all output plugins at the same time, instead
      of waiting for each of them separately.  Make several functions
      non-blocking, and introduce the new function audio_output_wait_all()
      to synchronize with all audio output threads.
      2b782b82
  33. 09 Sep, 2008 3 commits
  34. 08 Sep, 2008 1 commit
  35. 07 Sep, 2008 1 commit