aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-10-02DecoderThread: use OpenLocalInputStream() for local filesMax Kellermann1-1/+20
2014-10-02TagFile: use OpenLocalInputStream()Max Kellermann1-3/+4
2014-10-02input/LocalOpen: new library for opening local filesMax Kellermann2-0/+86
Combines the "file" and the "archive" input plugins.
2014-10-02input/archive: export function OpenArchiveInputStream()Max Kellermann2-16/+33
2014-10-02input/file: export function OpenFileInputStream()Max Kellermann2-13/+37
2014-10-02input/file: generate Error when errno==ENOENTMax Kellermann1-1/+1
This special case was useless. Fixes the dreaded "Unrecognized URI" error message when a file does not exist.
2014-10-02input/file: make the "fd" attribute "const"Max Kellermann1-1/+1
2014-10-02input/file: make variables more localMax Kellermann1-6/+3
2014-10-02storage: remove redundant "virtual" keywordsMax Kellermann5-38/+34
"override" implies "virtual".
2014-10-02input/file: convert to classMax Kellermann1-1/+2
2014-10-01storage/Interface: include cleanupMax Kellermann7-2/+11
2014-10-01lib/nfs/FileReader: postpone the nfs_close_async() callMax Kellermann4-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().
2014-10-01lib/nfs/Connection: fix memory leak when cancelling Open()Max Kellermann2-5/+23
Close the newly allocated file handle passed to the callback.
2014-10-01lib/nfs/Connection: remove MutexMax Kellermann2-18/+12
All locks are currenly held from only a single thread (the IOThread) and thus we don't need the Mutex.
2014-10-01lib/nfs/Connection: add method GetEventLoop()Max Kellermann2-1/+5
2014-10-01lib/nfs/Connection: remove obsolete flag postponed_destroyMax Kellermann2-18/+2
2014-10-01lib/nfs/Connection: remove deprecated move constructor workaroundMax Kellermann1-16/+0
Not used anymore because NfsManager now uses boost::intrusive::set instead of std::map.
2014-10-01storage/nfs: make a few attributes "const"Max Kellermann1-3/+3
2014-10-01lib/nfs/Manager: use boost::intrusive::mapMax Kellermann2-37/+78
Reduce overhead for storing the key twice, and more overhead while looking up the connection to remove it after a failure.
2014-10-01lib/nfs/Glue: add assertionMax Kellermann1-0/+4
2014-10-01lib/nfs/Glue: destruct the NfsManager in the I/O threadMax Kellermann3-5/+8
This allows eliminating the indirection code from the NfsConnection destructor.
2014-10-01lib/nfs/Glue: eliminate class NfsGlueMax Kellermann1-17/+1
It's just a useless wrapper for class NfsManager.
2014-10-01lib/nfs/Cancellable: use boost::intrusive::listMax Kellermann3-40/+18
Reduce Remove() overhead because we don't have to walk the list to find an iterator by reference.
2014-09-29Tag: support "AlbumSort"Max Kellermann3-0/+5
The new tag is supported by all decoders that use the tag name table, and the ID3v2 tag "TSOA" maps to it.
2014-09-28storage/nfs: convert file name to UTF-8Max Kellermann1-8/+30
Assume the configured filesystem character set is also used by the NFS server.
2014-09-28storage/nfs: use string::append() instead of string::insert()Max Kellermann1-3/+2
Swap the order of adding the URI and the slash, because appending is cheaper than inserting.
2014-09-28storage/nfs: move code to UriToNfsPath()Max Kellermann1-6/+13
2014-09-28fs/AllocatedPath: add method Steal()Max Kellermann1-0/+8
2014-09-28fs/AllocatedPath: API documentation grammar fixesMax Kellermann1-5/+5
2014-09-27Add MusicBrainz' Release Track Id tagWieland Hoffmann5-0/+11
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
2014-09-26pcm: --disable-dsd also disables the dsd2pcm libraryMax Kellermann2-1/+11
2014-09-26PcmConvert: eliminate unused local variable "format"Max Kellermann1-12/+2
2014-09-26output/alsa: change a few "dsd" to "dop"Max Kellermann1-4/+4
2014-09-26CommandLine: update copyright yearMax Kellermann1-2/+2
2014-09-26configure.ac: add option to disable the DSD decodersMax Kellermann1-0/+2
Allow building a smaller MPD binary for people who don't need DSD.
2014-09-26playlist/embcue: change name string to "embcue"Max Kellermann1-1/+1
The name "cue" was listed twice in "mpd --version".
2014-09-24decoder/mp4v2: add tag tableMax Kellermann1-10/+19
2014-09-24decoder/mpg123: support ID3v2, ReplayGain and MixRampMax Kellermann1-1/+90
2014-09-24decoder/mpg123: make variables more localMax Kellermann1-20/+11
2014-09-24decoder/flac: pass VorbisComment to flac_parse_mixramp()Max Kellermann3-6/+4
2014-09-24decoder/flac: move code to tag/MixRamp.cxxMax Kellermann3-35/+29
2014-09-24decoder/mad: move code to tag/MixRamp.cxxMax Kellermann3-5/+95
2014-09-24decoder/flac: pass VorbisComment to flac_parse_replay_gain()Max Kellermann3-6/+3
2014-09-24tag/ReplayGain: add VorbisComment parserMax Kellermann4-41/+31
Move code from the Vorbis and FLAC decoder plugins.
2014-09-24tag/ReplayGain: move code to template functionMax Kellermann1-8/+30
2014-09-24decoder/{vorbis,flac}: move duplicate code to tag/VorbisComment.cxxMax Kellermann4-24/+78
2014-09-24tag/ApeReplayGain, decoder/mad: move duplicate code to tag/ReplayGain.cxxMax Kellermann4-27/+82
2014-09-22CommandLine: make all OptionDefs "constexpr"Max Kellermann1-9/+9
2014-09-22DecoderBuffer: struct to classMax Kellermann1-1/+2
2014-09-22DecoderBuffer: convert functions to methodsMax Kellermann3-121/+85