1. 22 Jun, 2018 1 commit
    • Max Kellermann's avatar
      input/Stream: remove attribute "cond", replace with handler interface · d0fbf6db
      Max Kellermann authored
      This adds a bit of overhead, but also adds flexibility to the API,
      because arbitrary triggers may be invoked from that virtual method
      implementation, not just Cond::signal().
      
      The motivation for this is to make the handlers more dynamic, for the
      upcoming buffering class utilizing ProxyInputStream.
      d0fbf6db
  2. 11 Jan, 2018 1 commit
  3. 03 Jan, 2017 1 commit
  4. 26 Feb, 2016 1 commit
  5. 01 Jan, 2015 1 commit
  6. 24 Jan, 2014 1 commit
  7. 13 Jan, 2014 1 commit
  8. 17 Oct, 2013 1 commit
  9. 10 Jan, 2013 1 commit
  10. 24 Aug, 2011 1 commit
  11. 29 Jan, 2011 1 commit
  12. 01 Jan, 2010 1 commit
  13. 29 Dec, 2009 1 commit
    • Max Kellermann's avatar
      input/rewind: new input_stream wrapper to allow stream rewinding · c88f95a2
      Max Kellermann authored
      This replaces the rewinding buffer code from the CURL input plugin.
      It is more generic, and allows rewinding even when the server sends
      Icy-Metadata (which would have been too difficult to implement within
      the CURL plugin).
      
      This is a rather complex patch for the stable branch (v0.15.x), but it
      fixes a serious problem: the "vorbis" decoder plugin was unable to
      play streams with Icy-Metadata, because it couldn't rewind the stream
      after detecting the codec (Vorbis vs. FLAC).
      c88f95a2
  14. 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
  15. 02 Mar, 2009 2 commits
  16. 26 Oct, 2008 2 commits
    • Max Kellermann's avatar
      input_stream: added struct input_plugin · f08041f0
      Max Kellermann authored
      Instead of managing a set of method pointers in each input_stream
      struct, move these into the new input_plugin struct.  Each
      input_stream has only a pointer to the plugin struct.  Pointers to all
      implementations are kept in the array "input_plugins".
      f08041f0
    • Max Kellermann's avatar
      http: use libcurl · 3609de86
      Max Kellermann authored
      MPD's HTTP client code has always been broken, no matter how effort
      was put into fixing it.  Replace it with libcurl, which is known to be
      quite stable.  This adds a fat library dependency, but only for people
      who need streaming.
      3609de86
  17. 14 Oct, 2008 1 commit
  18. 08 Oct, 2008 1 commit
  19. 26 Aug, 2008 4 commits
    • Max Kellermann's avatar
      added flag "decoder.seeking" · 1c196478
      Max Kellermann authored
      This flag is used internally; it is set by decoder_seek_where(), and
      indicates that the decoder plugin has begun the seek process.  It is
      used for the case that the decoder plugin has to read data during the
      seek process.  Before this patch, that was impossible, because
      decoder_read() would refuse to read data unless dc->command is NONE.
      This patch is kind of a dirty workaround, and needs to be redesigned
      later.
      1c196478
    • Max Kellermann's avatar
      renamed InputPlugin to struct decoder_plugin · e41be362
      Max Kellermann authored
      "decoder plugin" is a better name than "input plugin", since the
      plugin does not actually do the input - InputStream does.  Also don't
      use typedef, so we can forward-declare it if required.
      e41be362
    • Max Kellermann's avatar
      moved convState to struct decoder · 2e9169de
      Max Kellermann authored
      Since we moved all PCM conversions to decoder_data(), the attribute
      convState isn't being used anymore by the OutputBuffer code.  Move it
      to struct decoder.
      2e9169de
    • Max Kellermann's avatar
      added struct decoder · 154aa496
      Max Kellermann authored
      The decoder struct should later be made opaque to the decoder plugin,
      because maintaining a stable struct ABI is quite difficult.  The ABI
      should only consist of a small number of stable functions.
      154aa496
  20. 12 Apr, 2008 1 commit
    • Max Kellermann's avatar
      clean up CPP includes · c89b358c
      Max Kellermann authored
      Try to only include headers which are really needed.  We should
      particularly check all "headers including other headers".  The
      long-term goal is to have a manageable, small API for plugins
      (decoders, output) without so many mpd internals cluttering the
      namespace.
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@7319 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      c89b358c
  21. 05 Feb, 2008 1 commit
  22. 28 Dec, 2007 1 commit
    • Eric Wong's avatar
      Merge branches/ew r7104 · b79f6b88
      Eric Wong authored
      thread-safety work in preparation for rewrite to use pthreads
      
      Expect no regressions against trunk (r7078), possibly minor
      performance improvements in update (due to fewer heap
      allocations), but increased stack usage.
      
      Applied the following patches:
      
      * maxpath_str for reentrancy (temporary fix, reverted)
      * path: start working on thread-safe variants of these methods
      * Re-entrancy work on path/character-set conversions
      * directory.c: exploreDirectory() use reentrant functions here
      * directory/update: more use of reentrant functions + cleanups
      * string_toupper: a strdup-less version of strDupToUpper
      * get_song_url: a static-variable-free version of getSongUrl()
      * Use reentrant/thread-safe get_song_url everywhere
      * replace rmp2amp with the reentrant version, rmp2amp_r
      * Get rid of the non-reentrant/non-thread-safe rpp2app, too.
      * buffer2array: assert strdup() returns a usable value in unit tests
      * replace utf8ToFsCharset and fsCharsetToUtf8 with thread-safe variants
      * fix storing playlists w/o absolute paths
      * parent_path(), a reentrant version of parentPath()
      * parentPath => parent_path for reentrancy and thread-safety
      * allow "make test" to automatically run embedded unit tests
      * remove convStrDup() and maxpath_str()
      * use MPD_PATH_MAX everywhere instead of MAXPATHLEN
      * path: get rid of appendSlash, pfx_path and just use pfx_dir
      * get_song_url: fix the ability to play songs in the top-level music_directory
      
      git-svn-id: https://svn.musicpd.org/mpd/trunk@7106 09075e82-0dd4-0310-85a5-a0d7c8717e4f
      b79f6b88
  23. 05 Apr, 2007 1 commit
  24. 18 Feb, 2007 1 commit
  25. 08 Jan, 2007 1 commit
  26. 20 Jul, 2006 1 commit
  27. 14 Jul, 2006 2 commits
  28. 13 Jul, 2006 1 commit
  29. 03 Nov, 2004 1 commit
  30. 17 Jun, 2004 2 commits
  31. 14 Apr, 2004 1 commit
  32. 18 Mar, 2004 1 commit
  33. 23 Feb, 2004 1 commit