1. 01 Jan, 2010 1 commit
  2. 29 Oct, 2009 1 commit
    • 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
  3. 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
  4. 26 Mar, 2009 1 commit
  5. 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
  6. 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
  7. 25 Feb, 2009 1 commit
  8. 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
  9. 16 Feb, 2009 4 commits
  10. 15 Feb, 2009 1 commit
  11. 09 Feb, 2009 1 commit
  12. 30 Jan, 2009 3 commits
  13. 25 Jan, 2009 2 commits
  14. 17 Jan, 2009 1 commit
  15. 31 Dec, 2008 1 commit
  16. 25 Nov, 2008 1 commit
  17. 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
  18. 29 Oct, 2008 1 commit
  19. 08 Oct, 2008 1 commit
  20. 29 Sep, 2008 2 commits
    • 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
    • Max Kellermann's avatar
      audio_output: added function audio_output_is_pending() · c13e8b51
      Max Kellermann authored
      The function audio_output_is_pending() returns whether there is a
      pending command.  This is useful for output plugins as a break
      condition for longer loops.
      c13e8b51
  21. 24 Sep, 2008 6 commits
    • Max Kellermann's avatar
      5cf62133
    • Max Kellermann's avatar
      output: make "struct audio_output" opaque for output plugins · acc4a0ba
      Max Kellermann authored
      We have eliminated direct accesses to the audio_output struct from
      the all output plugins.  Make it opaque for them, and move its real
      declaration to output_internal.h, similar to decoder_internal.h.
      
      Pass the opaque structure to plugin.init() only, which will return the
      plugin's data pointer on success, and NULL on failure.  This data
      pointer will be passed to all other methods instead of the
      audio_output struct.
      acc4a0ba
    • Max Kellermann's avatar
      output: added audio_output_closed() · 63fb1efb
      Max Kellermann authored
      The JACK output plugin needs to reset its "opened" flag when the JACK
      server fails.  To prevent it from accessing the audio_output struct
      directly introduce the API function audio_output_closed().
      63fb1efb
    • Max Kellermann's avatar
      output: added audio_output_get_name() · 3be5db04
      Max Kellermann authored
      Reduce direct accesses to the audio_output struct from the plugins:
      this time, eliminate all accesses to audio_output.name.  The name is
      required by some plugins for log messages.
      3be5db04
    • Max Kellermann's avatar
      output: pass audio_format to plugin.init() and plugin.open() · 3cae6856
      Max Kellermann authored
      Pass the globally configured audio_format as a const pointer to
      plugin.init().  plugin.open() gets a writable pointer which contains
      the audio_format requested by the plugin.  Its initial value is either
      the configured audio_format or the input file's audio_format.
      3cae6856
    • Max Kellermann's avatar
      output: one thread per audio output · d32f49a9
      Max Kellermann authored
      To keep I/O nastiness and latencies away from the core, move the audio
      output code to a separate thread, one per output.  The thread is
      created on demand, and currently runs until mpd exits.
      d32f49a9
  22. 11 Sep, 2008 2 commits
  23. 09 Sep, 2008 1 commit
  24. 08 Sep, 2008 1 commit
  25. 07 Sep, 2008 2 commits