aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * util/UriUtil: add uri_get_suffix() overload that ignores query stringMax Kellermann2014-11-022-0/+28
| |
| * PlaylistFile: don't allow empty playlist nameMax Kellermann2014-11-021-0/+4
| |
| * playlist/m3u: recognize the file suffix ".m3u8"Max Kellermann2014-11-022-1/+3
| |
| * decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann2014-11-021-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many years ago, FAAD had a serious ABI bug: the NeAACDecInit() prototype in its header declared the "samplerate" parameter to be "unsigned long *", but internally, the function assumed it was "uint32_t *" instead. On 32 bit machines, that was no difference, but on 64 bit, this left one portion of the return value uninitialized; and worse, on big-endian, the wrong word was filled. This bug had to be worked around in MPD (commit 9c4e97a6). A few months later, the bug was fixed in the FAAD CVS in commit 1.117 on file libfaad/decoder.c; the commit message was: "Use public headers internally to prevent duplicate declarations" The commit message was too brief at best; the problem was not duplicate declarations, but a prototype mismatch. No mention of the bug fix in the ChangeLog. The MPD project never learned about this bug fix, and so MPD would always pass a "uin32_t *" dressed up as a "unsigned long *". Nearly 6 years later, it's about time to fix this second ABI problem. Let's kill the workaround!
| * decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien2014-11-021-0/+1
| |
| * output/roar: remove unnecessary "volatile" keywordMax Kellermann2014-11-021-1/+1
| | | | | | | | | | A mutex acts as a memory barrier, and thus "volatile" is not necessary.
| * TagString: use g_strndup() for unterminated stringMax Kellermann2014-11-021-1/+1
| | | | | | | | Fixes buffer overflow bug.
* | lib/upnp/Discovery: add missing stdlib.h includeMax Kellermann2014-11-021-0/+1
| |
* | input/curl: fix curl_easy_setopt() parameter typesMax Kellermann2014-11-011-3/+3
| |
* | Decoder, Playlist: ignore URI query string for plugin detectionMax Kellermann2014-11-013-5/+10
| | | | | | | | Use the new uri_get_suffix() overload that removes the query string.
* | util/UriUtil: add uri_get_suffix() overload that ignores query stringMax Kellermann2014-11-012-0/+28
| |
* | Main: run the OS X native event loop after forkingNanoTech2014-10-311-0/+27
| |
* | Revert "Main: run the OS X native event loop"NanoTech2014-10-313-50/+0
| | | | | | | | | | | | | | | | This reverts commit f0be48ff90503d9ffa5b295fd4454eec753950ee (except for the NEWS entry). If libdispatch (GCD) is used before forking, it can't safely be used again after forking.
* | PlaylistFile: don't allow empty playlist nameMax Kellermann2014-10-311-0/+4
| |
* | decoder/mad: fix negative replay gain valuesMax Kellermann2014-10-281-1/+1
| | | | | | | | Negating an unsigned integer does not work.
* | TextInputStream: don't ignore unterminated last lineMax Kellermann2014-10-281-4/+16
| |
* | playlist/m3u: recognize the file suffix ".m3u8"Max Kellermann2014-10-262-0/+2
| |
* | OutputThread: fall back to PCM if given DSD sample rate is not supportedMax Kellermann2014-10-251-0/+30
| | | | | | | | | | Works around the "PCM conversion from f to dsd is not implemented" error message that prevents DSD playback.
* | decoder/faad: remove workaround for ancient libfaad2 ABI bugMax Kellermann2014-10-252-20/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many years ago, FAAD had a serious ABI bug: the NeAACDecInit() prototype in its header declared the "samplerate" parameter to be "unsigned long *", but internally, the function assumed it was "uint32_t *" instead. On 32 bit machines, that was no difference, but on 64 bit, this left one portion of the return value uninitialized; and worse, on big-endian, the wrong word was filled. This bug had to be worked around in MPD (commit 9c4e97a6). A few months later, the bug was fixed in the FAAD CVS in commit 1.117 on file libfaad/decoder.c; the commit message was: "Use public headers internally to prevent duplicate declarations" The commit message was too brief at best; the problem was not duplicate declarations, but a prototype mismatch. No mention of the bug fix in the ChangeLog. The MPD project never learned about this bug fix, and so MPD would always pass a "uin32_t *" dressed up as a "unsigned long *". Nearly 6 years later, it's about time to fix this second ABI problem. Let's kill the workaround!
* | decoder/ffmpeg: recognize MIME type audio/aacpSteven OBrien2014-10-251-0/+1
| |
* | fs/Charset: work around clang's -Wunused-const-variableMax Kellermann2014-10-251-1/+2
| | | | | | | | MPD_PATH_MAX_UTF8 is only used by GLib-specific code currently.
* | OutputThread: close the output plugin after filter failureMax Kellermann2014-10-241-0/+1
| | | | | | | | Fixes memory leak because ao_plugin_close() never gets called.
* | OutputThread: unlock mutex for CloseFilter()Max Kellermann2014-10-242-0/+14
| | | | | | | | Be consistent.
* | output/roar: remove unnecessary "volatile" keywordMax Kellermann2014-10-231-1/+1
| | | | | | | | | | A mutex acts as a memory barrier, and thus "volatile" is not necessary.
* | pcm/ChannelsConverter: fix variable used to generate error messageMax Kellermann2014-10-231-1/+1
| | | | | | | | | | Use the "_format" parameter instead of the (uninitialized) "format" attribute.
* | pcm/FormatConverter: move check to Open()Max Kellermann2014-10-231-10/+24
| | | | | | | | | | Report unsupported format while opening the filter, not later when the first conversion takes place.
* | pcm/PcmConvert: assign {src,dest}_format at the endMax Kellermann2014-10-231-12/+13
| | | | | | | | | | Fixes assertion failure in destructor by not assigning {src,dest}_format when an error occurs.
* | pcm/PcmConvert: make AudioFormat parameters "const"Max Kellermann2014-10-231-1/+1
| |
* | TextInputStream: manually shift the buffer before readingMax Kellermann2014-10-191-0/+2
| | | | | | | | | | Fixes truncated lines in m3u and cue files (regression by commit 67958f7).
* | util/StaticFifoBuffer: make Shift() publicMax Kellermann2014-10-191-2/+0
| |
* | playlist/extm3u: strip first line for #EXTM3U detectionMax Kellermann2014-10-171-2/+6
| |
* | ThreadInputStream: call ThreadRead() inside the thread instead of Read()Max Kellermann2014-10-111-1/+1
| | | | | | | | Fixes deadlock bug in the "mms" plugin.
* | ThreadInputStream: add assertionsMax Kellermann2014-10-111-0/+8
| |
* | util/DynamicFifoBuffer: make the "Range" type publicMax Kellermann2014-10-111-0/+1
| | | | | | | | | | Export it from the protected base class. This fixes a build failure on Mac OS X.
* | db/upnp/Util: move caturl() to util/UriUtil.cxxMax Kellermann2014-10-106-32/+39
| |
* | event/IdleMonitor: remove redundant commentMax Kellermann2014-10-101-2/+1
| |
* | ZeroconfBonjour: use htons() instead of g_htons()Max Kellermann2014-10-101-3/+3
| |
* | TagString: implement fix_utf8() without GLibMax Kellermann2014-10-101-22/+34
| |
* | util/UTF8: add SequenceLengthUTF8()Max Kellermann2014-10-102-0/+96
| |
* | util/UTF8: new libraryMax Kellermann2014-10-102-0/+339
| |
* | TagString: return WritableBuffer<char>Max Kellermann2014-10-103-24/+26
| |
* | TagString: use strndup() for unterminated stringMax Kellermann2014-10-101-1/+1
| | | | | | | | Fixes buffer overflow bug.
* | TagString: remove ISO-Latin-1 fallbackMax Kellermann2014-10-101-14/+1
| | | | | | | | | | | | | | | | MPD handles all strings in UTF-8 internally. Those decoders which read Latin-1 tags are supposed to implement the conversion, instead of passing Latin-1 to TagBuilder::AddItem(). FixTagString() is simply the wrong place to do that, and hard-coding Latin-1 is kind of arbitrary.
* | fs/Traits: use value_typeMax Kellermann2014-10-101-4/+4
| |
* | Main: run the OS X native event loopnanotech2014-10-103-0/+50
| |
* | storage/nfs: use the libnfs async APIMax Kellermann2014-10-093-49/+397
| | | | | | | | Share the NFS connection with the NFS input plugin.
* | lib/nfs/Connection: reduce Error instance allocationsMax Kellermann2014-10-091-3/+2
| |
* | lib/nfs/Glue: add assertionMax Kellermann2014-10-091-0/+1
| |
* | StoragePlugin: pass EventLoop to constructorMax Kellermann2014-10-099-14/+23
| |
* | storage/nfs: move code to class MemoryStorageDirectoryReaderMax Kellermann2014-10-073-73/+150
| | | | | | | | | | | | Read all directory entries into memory and close the struct nfsdir before returning the StorageDirectoryReader instance. This is what libnfs does, anyway.