1. 14 Mar, 2009 2 commits
  2. 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
  3. 07 Mar, 2009 1 commit
    • David Guibert's avatar
      pulse mixer · 21bb10f4
      David Guibert authored
      This patch introduces the mixer for the pulse output.
      
      Technically speaking, the pulse index is needed to get or set
      the volume. You must define callback fonctions to get this index since
      the pulse output in mpd is done using the simpe api. The pulse simple api
      does not provide the index of the newly defined output.
      
      So callback fonctions are associated to the pulse context.
      The list of all the sink input is then retreived.
      Then we select the name of the mpd pulse output and control
      its volume by its associated index number.
      Signed-off-by: 's avatarPatrice Linel <patnathanael@gmail.com>
      Signed-off-by: 's avatarDavid Guibert <david.guibert@gmail.com>
      
      [mk: fixed whitespace errors and broke long lines; removed
      daemonization changes from main.c]
      21bb10f4
  4. 01 Mar, 2009 1 commit
  5. 26 Feb, 2009 2 commits
    • 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
    • Max Kellermann's avatar
      pulse: removed pa_simple!=NULL checks · 710a61a3
      Max Kellermann authored
      The MPD core guarantees that the audio_output object is always
      consistent, and our pa_simple!=NULL checks are superfluous.  Also
      don't manually close the device on error in pulse_play(), since the
      MPD core does this automatically when the play() method returns 0.
      710a61a3
  6. 25 Feb, 2009 2 commits
  7. 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
  8. 25 Jan, 2009 1 commit
  9. 18 Jan, 2009 1 commit
  10. 17 Jan, 2009 1 commit
  11. 01 Jan, 2009 1 commit
  12. 05 Nov, 2008 2 commits
  13. 30 Oct, 2008 1 commit
  14. 29 Oct, 2008 4 commits
  15. 26 Oct, 2008 2 commits
  16. 25 Oct, 2008 1 commit
    • Max Kellermann's avatar
      pulse: force 16 bit audio sample format · a02db572
      Max Kellermann authored
      PA_SAMPLE_S16NE is the only sample format which is suported by both
      MPD and pulseaudio.  Unfortunately, pulse does not accept 24 bit
      samples.
      
      Instead of bailing out with an error message, we should tell the MPD
      core to convert all samples to 16 bit for pulse.
      a02db572
  17. 10 Oct, 2008 1 commit
  18. 29 Sep, 2008 1 commit
    • Max Kellermann's avatar
      use C99 struct initializers · de7cda1d
      Max Kellermann authored
      The old struct initializers are error prone and don't allow moving
      elements around.  Since we are going to overhaul some of the APIs
      soon, it's easier to have all implementations use C99 initializers.
      de7cda1d
  19. 24 Sep, 2008 3 commits
    • 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: set audio_output->open=1 in audio_output_task() · 2403d32a
      Max Kellermann authored
      Since the output plugin returns a value indicating success or error,
      we can have the output core code assign the "open" flag.
      2403d32a
    • 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
  20. 08 Sep, 2008 1 commit
  21. 07 Sep, 2008 3 commits
  22. 12 Apr, 2008 1 commit
  23. 03 Jan, 2008 1 commit
    • Eric Wong's avatar
      Cleanup #includes of standard system headers and put them in one place · cb8f1af3
      Eric Wong authored
      This will make refactoring features easier, especially now that
      pthreads support and larger refactorings are on the horizon.
      
      Hopefully, this will make porting to other platforms (even
      non-UNIX-like ones for masochists) easier, too.
      
      os_compat.h will house all the #includes for system headers
      considered to be the "core" of MPD.  Headers for optional
      features will be left to individual source files.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@7130 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      cb8f1af3
  24. 05 Apr, 2007 1 commit
  25. 26 Aug, 2006 1 commit
    • Eric Wong's avatar
      Replace strdup and {c,re,m}alloc with x* variants to check for OOM errors · 90847fc8
      Eric Wong authored
      I'm checking for zero-size allocations and assert()-ing them,
      so we can more easily get backtraces and debug problems, but we'll
      also allow -DNDEBUG people to live on the edge if they wish.
      
      We do not rely on errno when checking for OOM errors because
      some implementations of malloc do not set it, and malloc
      is commonly overridden by userspace wrappers.
      
      I've spent some time looking through the source and didn't find any
      obvious places where we would explicitly allocate 0 bytes, so we
      shouldn't trip any of those assertions.
      
      We also avoid allocating zero bytes because C libraries don't
      handle this consistently (some return NULL, some not); and it's
      dangerous either way.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@4690 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      90847fc8
  26. 08 Aug, 2006 1 commit
  27. 20 Jul, 2006 1 commit