1. 04 Mar, 2021 1 commit
  2. 21 Jan, 2021 1 commit
  3. 01 Jan, 2021 1 commit
  4. 18 Jan, 2020 1 commit
  5. 17 Jun, 2019 1 commit
  6. 28 Dec, 2018 1 commit
  7. 31 Oct, 2018 1 commit
  8. 19 Feb, 2017 1 commit
  9. 08 Feb, 2017 1 commit
  10. 03 Jan, 2017 1 commit
  11. 12 Apr, 2016 1 commit
  12. 26 Feb, 2016 1 commit
  13. 01 Jan, 2015 1 commit
  14. 19 Feb, 2014 1 commit
  15. 13 Jan, 2014 1 commit
  16. 20 Oct, 2013 1 commit
  17. 19 Oct, 2013 1 commit
  18. 05 Sep, 2013 1 commit
  19. 30 Jul, 2013 2 commits
  20. 30 Jan, 2013 3 commits
  21. 15 Jan, 2013 1 commit
  22. 29 Jan, 2011 1 commit
  23. 01 Jan, 2010 1 commit
  24. 13 Apr, 2009 2 commits
  25. 27 Mar, 2009 1 commit
  26. 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
  27. 28 Dec, 2008 1 commit
  28. 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
  29. 08 Oct, 2008 1 commit
  30. 07 Sep, 2008 1 commit
    • Eric Wong's avatar
      tag: lock all accesses to tag_pool · 3c4de5b5
      Eric Wong authored
      The tag pool is a shared global resource that is infrequently
      modified.  However, it can occasionally be modified by several
      threads, especially by the metadata_pipe for streaming metadata
      (both reading/writing).
      
      The bulk tag_item pool is NOT locked as currently only the
      update thread uses it.
      3c4de5b5
  31. 29 Aug, 2008 2 commits
    • Max Kellermann's avatar
      tag: optimize tag_dup(), copy item references · d38d2bc3
      Max Kellermann authored
      Don't call tag_pool_get_item() for duplicating tags, just increase the
      item's reference counter instead.
      d38d2bc3
    • Max Kellermann's avatar
      tag: added a pool for tag items · c855415c
      Max Kellermann authored
      The new source tag_pool.c manages a pool of reference counted tag_item
      objects.  This is used to merge tag items of the same type and value,
      saving lots of memory.  Formerly, only the value itself was pooled,
      wasting memory for all the pointers and tag_item structs.
      
      The following results were measured with massif.  Started MPD on
      amd64, typed "mpc", no song being played.  My music database contains
      35k tagged songs.  The results are what massif reports as "peak".
      
       0.13.2:     total 14,131,392; useful 11,408,972; extra 2,722,420
       eric:       total 18,370,696; useful 15,648,182; extra 2,722,514
       mk f34f694e: total 15,833,952; useful 13,111,470; extra 2,722,482
       mk now:     total 12,837,632; useful 10,626,383; extra 2,211,249
      
      This patch set saves 20% memory, and does a good job in reducing heap
      fragmentation.
      c855415c
  32. 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