aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | Makefile.am: fix header file namesMax Kellermann2014-10-011-4/+7
| | | | | | | | Found by "make distcheck".
* | lib/nfs/FileReader: postpone the nfs_close_async() callMax Kellermann2014-10-014-6/+92
| | | | | | | | | | | | If an async opertion is in progress, nfs_close_async() will make libnfs crash because the RPC callback will dereference an object that was freed by nfs_close_async().
* | lib/nfs/Connection: fix memory leak when cancelling Open()Max Kellermann2014-10-012-5/+23
| | | | | | | | Close the newly allocated file handle passed to the callback.
* | lib/nfs/Connection: remove MutexMax Kellermann2014-10-012-18/+12
| | | | | | | | | | All locks are currenly held from only a single thread (the IOThread) and thus we don't need the Mutex.
* | lib/nfs/Connection: add method GetEventLoop()Max Kellermann2014-10-012-1/+5
| |
* | lib/nfs/Connection: remove obsolete flag postponed_destroyMax Kellermann2014-10-012-18/+2
| |
* | lib/nfs/Connection: remove deprecated move constructor workaroundMax Kellermann2014-10-011-16/+0
| | | | | | | | | | Not used anymore because NfsManager now uses boost::intrusive::set instead of std::map.
* | storage/nfs: make a few attributes "const"Max Kellermann2014-10-011-3/+3
| |
* | lib/nfs/Manager: use boost::intrusive::mapMax Kellermann2014-10-012-37/+78
| | | | | | | | | | Reduce overhead for storing the key twice, and more overhead while looking up the connection to remove it after a failure.
* | lib/nfs/Glue: add assertionMax Kellermann2014-10-011-0/+4
| |
* | lib/nfs/Glue: destruct the NfsManager in the I/O threadMax Kellermann2014-10-013-5/+8
| | | | | | | | | | This allows eliminating the indirection code from the NfsConnection destructor.
* | lib/nfs/Glue: eliminate class NfsGlueMax Kellermann2014-10-011-17/+1
| | | | | | | | It's just a useless wrapper for class NfsManager.
* | lib/nfs/Cancellable: use boost::intrusive::listMax Kellermann2014-10-013-40/+18
| | | | | | | | | | Reduce Remove() overhead because we don't have to walk the list to find an iterator by reference.
* | Tag: support "AlbumSort"Max Kellermann2014-09-294-1/+6
| | | | | | | | | | The new tag is supported by all decoders that use the tag name table, and the ID3v2 tag "TSOA" maps to it.
* | storage/nfs: convert file name to UTF-8Max Kellermann2014-09-281-8/+30
| | | | | | | | | | Assume the configured filesystem character set is also used by the NFS server.
* | storage/nfs: use string::append() instead of string::insert()Max Kellermann2014-09-281-3/+2
| | | | | | | | | | Swap the order of adding the URI and the slash, because appending is cheaper than inserting.
* | storage/nfs: move code to UriToNfsPath()Max Kellermann2014-09-281-6/+13
| |
* | fs/AllocatedPath: add method Steal()Max Kellermann2014-09-281-0/+8
| |
* | fs/AllocatedPath: API documentation grammar fixesMax Kellermann2014-09-281-5/+5
| |
* | Add MusicBrainz' Release Track Id tagWieland Hoffmann2014-09-277-1/+14
| | | | | | | | | | | | | | | | | | | | The Release Track Id uniquely identifies a recording on a release - that is, even if a recording appears twice on a release (meaning that the combination of recording and release id are not enough to figure out which one it is), the release track id will allow differentiating the two. The tag names are taken from https://musicbrainz.org/doc/MusicBrainz_Picard/Tags/Mapping
* | pcm: --disable-dsd also disables the dsd2pcm libraryMax Kellermann2014-09-263-3/+17
| |
* | PcmConvert: eliminate unused local variable "format"Max Kellermann2014-09-261-12/+2
| |
* | output/alsa: change a few "dsd" to "dop"Max Kellermann2014-09-261-4/+4
| |
* | Merge tag 'v0.18.16'Max Kellermann2014-09-266-52/+35
|\|
| * release v0.18.16Max Kellermann2014-09-261-1/+1
| |
| * configure.ac: fix DSD breakage due to typoMax Kellermann2014-09-262-1/+2
| |
| * configure.ac: prepare for 0.18.16Max Kellermann2014-09-262-1/+3
| |
| * release v0.18.15Max Kellermann2014-09-261-1/+1
| |
| * configure.ac: allow building MPD without decoder pluginMax Kellermann2014-09-261-21/+0
| | | | | | | | | | There's always the "PCM" decoder plugin, which was never checked by configure.ac.
| * configure.ac: allow building MPD without output pluginMax Kellermann2014-09-261-21/+0
| | | | | | | | | | | | MPD can easily be used as a database provider for the proxy database plugin. In that case, it needs only one "null" output, and no real output plugin.
| * CommandLine: update copyright yearMax Kellermann2014-09-261-2/+2
| |
| * configure.ac: add option to disable the DSD decodersMax Kellermann2014-09-263-6/+29
| | | | | | | | Allow building a smaller MPD binary for people who don't need DSD.
| * playlist/embcue: change name string to "embcue"Max Kellermann2014-09-261-1/+1
| | | | | | | | The name "cue" was listed twice in "mpd --version".
| * test/test_protocol: add missing stdlib.h includeMax Kellermann2014-09-241-1/+1
| | | | | | | | | | EXIT_SUCCESS and EXIT_FAILURE are defined in stdlib.h, not unistd.h. D'oh!
* | decoder/mp4v2: add tag tableMax Kellermann2014-09-241-10/+19
| |
* | decoder/mpg123: support ID3v2, ReplayGain and MixRampMax Kellermann2014-09-242-1/+91
| |
* | decoder/mpg123: make variables more localMax Kellermann2014-09-241-20/+11
| |
* | decoder/flac: pass VorbisComment to flac_parse_mixramp()Max Kellermann2014-09-243-6/+4
| |
* | decoder/flac: move code to tag/MixRamp.cxxMax Kellermann2014-09-243-35/+29
| |
* | decoder/mad: move code to tag/MixRamp.cxxMax Kellermann2014-09-244-5/+96
| |
* | decoder/flac: pass VorbisComment to flac_parse_replay_gain()Max Kellermann2014-09-243-6/+3
| |
* | tag/ReplayGain: add VorbisComment parserMax Kellermann2014-09-244-41/+31
| | | | | | | | Move code from the Vorbis and FLAC decoder plugins.
* | tag/ReplayGain: move code to template functionMax Kellermann2014-09-241-8/+30
| |
* | decoder/{vorbis,flac}: move duplicate code to tag/VorbisComment.cxxMax Kellermann2014-09-245-24/+79
| |
* | tag/ApeReplayGain, decoder/mad: move duplicate code to tag/ReplayGain.cxxMax Kellermann2014-09-245-27/+83
| |
* | Merge branch 'v0.18.x'Max Kellermann2014-09-247-8/+48
|\|
| * test/test_protocol: add missing unistd.h includeMax Kellermann2014-09-241-0/+2
| |
| * OutputThread: retain negative mix ratioMax Kellermann2014-09-182-1/+11
| | | | | | | | Fixes MixRamp breakage.
| * command/list: reset used size after the list has been processedAndrzej Rybczak2014-09-182-0/+3
| |
| * thread/Posix{Cond,Mutex}: don't ues PTHREAD_*_INITIALIZER on NetBSDMax Kellermann2014-09-134-1/+30
| | | | | | | | | | | | | | | | | | | | On NetBSD, PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER are not compatible with C++11 "constexpr" (see Mantis ticket 0004110). As a workaround, don't ues "constexpr", and use the functions pthread_mutex_init(), pthread_mutex_destroy(), pthread_cond_init() and pthread_cond_destroy() instead. This adds some runtime overhead, but is portable to POSIX implementations that have awkward initializer macros.