aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| | * decoder/ffmpeg: detect and fix negative time stampsMax Kellermann2014-12-151-4/+7
| | | | | | | | | | | | | | | Works around assertion failure due to something that appears to be a (minor) FFmpeg bug.
| * | LogBackend: force-flush stderr on WIN32Max Kellermann2014-12-171-0/+6
| | | | | | | | | | | | setvbuf() does not seem to have an effect on Windows.
| * | LogInit: make stderr line-bufferedMax Kellermann2014-12-171-0/+3
| | | | | | | | | | | | | | | Make sure everything gets logged right away. No delays because stdio's buffer is not yet full.
| * | util/HugeAllocator: enable MEM_COMMIT on WindowsMax Kellermann2014-12-171-1/+3
| | | | | | | | | | | | | | | Without MEM_COMMIT, the reserved address space is not accessible, and MPD crashes.
* | | Merge branch 'v0.19.x'Max Kellermann2014-12-157-25/+183
|\| |
| * | storage/nfs: add timeoutMax Kellermann2014-12-152-3/+13
| | |
| * | storage/nfs: clear last_error in SetState()Max Kellermann2014-12-151-0/+1
| | | | | | | | | | | | Fixes bogus assertion failure.
| * | lib/nfs/Connection: unregister socket with SocketMonitor::Steal()Max Kellermann2014-12-151-1/+1
| | | | | | | | | | | | | | | SocketMonitor::Cancel() does not actually unregister the socket; it only disables the event.
| * | lib/nfs/Connection: implement mount timeoutMax Kellermann2014-12-152-2/+31
| | |
| * | lib/nfs/Connection: add debug flag "in_destroy"Max Kellermann2014-12-152-0/+11
| | |
| * | lib/nfs/Connection: add assertionMax Kellermann2014-12-141-0/+2
| | |
| * | lib/nfs/Connection: fix reconnect after mount failureMax Kellermann2014-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | When mounting had not yet finished, SocketMonitor::IsDefined() was always false, due to the workaround at the beginning of the function that calls SocketMonitor::Steal(). This commit drops the IsDefined() check because it was never necessary and breaks reconnect.
| * | lib/nfs/Connection: fix typo in code commentMax Kellermann2014-12-141-1/+1
| | |
| * | lib/nfs/Connection: fix memory leak (and assertion failure)Max Kellermann2014-12-143-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nfs_destroy_context() will invoke all pending callbacks with err==-EINTR. In CancellableCallback::Callback(), this will invoke NfsConnection::DeferClose(), which however is only designed to be called from nfs_service(). In non-debug mode, this will leak memory because nfs_close_async() is never called. Workaround: before nfs_destroy_context(), invoke nfs_close_async() on all pending file handles.
| * | lib/nfs/Connection: move code to Service()Max Kellermann2014-12-142-12/+28
| | |
| * | lib/nfs/Connection: add assertionsMax Kellermann2014-12-141-0/+2
| | |
| * | lib/nfs/Connection: move code to method InternalClose()Max Kellermann2014-12-142-3/+17
| | |
| * | lib/nfs/Connection: make in_service and in_event debug-only flagsMax Kellermann2014-12-142-0/+11
| | |
| * | lib/nfs/Connection: fix crash while canceling a failing Open()Max Kellermann2014-12-141-2/+4
| | | | | | | | | | | | | | | | | | | | | The method NfsConnection::CancellableCallback::Callback() will always invoke NfsConnection::Close() on the file handle, even if the void pointer is not a nfsfh. This can happen if the Open() was not successful, e.g. when the file does not exist.
| * | event/Loop: read the "again" flag while holding mutexMax Kellermann2014-12-141-1/+2
| | |
| * | lib/nfs/Connection: add assertionsMax Kellermann2014-12-141-0/+31
| | |
* | | input/nfs: include cleanupMax Kellermann2014-12-141-4/+0
| | |
* | | input/async: add API documentationMax Kellermann2014-12-141-0/+4
| | |
* | | sticker/Match: add inequality operatorsMax Kellermann2014-12-123-0/+34
| | |
* | | sticker/Match: add operator "EQUALS"Max Kellermann2014-12-123-3/+32
| | | | | | | | | | | | | | | Mapped to "=" in the MPD protocol. This is the first operator, initially supporting value matches in the MPD protocol.
* | | sticker/Song: add enum StickerOperator to sticker_song_find()Max Kellermann2014-12-126-5/+59
| | |
* | | sticker/Database: move code to BindFind()Max Kellermann2014-12-122-8/+29
| | |
* | | sticker/Database: use the Error libraryMax Kellermann2014-12-127-83/+125
| | |
* | | sticker/Database: always invoke sqlite3_reset() and sqlite3_clear_bindings()Max Kellermann2014-12-121-4/+4
| | |
* | | lib/sqlite/Util: add ExecuteModified()Max Kellermann2014-12-122-14/+23
| | |
* | | sticker/Database: add wrapper for sqlite3_step()Max Kellermann2014-12-122-89/+95
| | |
* | | sticker/Database: move SQLite helpers to lib/sqlite/Util.hxxMax Kellermann2014-12-122-45/+81
| | |
* | | lib/sqlite/Domain: add Domain instance for SQLiteMax Kellermann2014-12-123-5/+57
| | | | | | | | | | | | Replaces the sticker_domain for Error::domain.
* | | sticker/Database: remove redundant sqlite3_reset() callsMax Kellermann2014-12-121-14/+0
| | | | | | | | | | | | | | | Call sqlite3_reset() only after a sqlite3_stmt* has been used, not before. Assume it is already in reusable state.
* | | sticker/Database: require SQLite 3.7.3Max Kellermann2014-12-121-4/+0
| | | | | | | | | | | | | | | | | | SQLite 3.7.3 is the version shipped in Debian Squeeze (oldstable); should be old enough to be the required version. Drop the compatibility #ifdef.
* | | vorbiscomments: Remove support for non-standard "album artist" tags.Rasmus Steinke2014-12-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | MPD used both "album artist" and "albumartist" tags and mapped them to one tag. This could lead to issues, if a file had both tags, causing MPD to send a list of albumartists instead of a single one. Since "album artist" is not a standard tag anyway and even its originators started to use the proper alternative, its time to say goodbye!
* | | sticker/Database: make variables more localMax Kellermann2014-12-121-10/+8
| | |
* | | sticker/Database: add sqlite3_bind_text() wrapperMax Kellermann2014-12-121-112/+42
| | |
* | | sticker/Database: remove C-style (void)Max Kellermann2014-12-122-4/+4
| | |
* | | Merge branch 'v0.19.x'Max Kellermann2014-12-122-2/+3
|\| |
| * | util/HugeAllocator: disable MEM_LARGE_PAGES on WindowsMax Kellermann2014-12-121-1/+2
| | | | | | | | | | | | | | | | | | MEM_LARGE_PAGES does not appear to work. Instead, MEM_RESERVE appears to be necessary. Until I figure this out, this large pages are disabled.
| * | input/Init: eliminate double colon from log messageMax Kellermann2014-12-121-1/+1
| | |
* | | decoder/ffpmeg: make variables more localMax Kellermann2014-12-111-3/+2
| | |
* | | decoder/ffpmeg: simplify ffmpeg_send_packet()Max Kellermann2014-12-111-8/+8
| | |
* | | decoder/ffmpeg: support stream tagsMax Kellermann2014-12-111-0/+39
| | |
* | | decoder/ffpmeg: move code to FfmpegScanMetadata()Max Kellermann2014-12-111-4/+18
| | |
* | | decoder/ffmpeg: support ReplayGain and MixRampMax Kellermann2014-12-101-0/+56
| | |
* | | decoder/ffpmeg: use forward declarationsMax Kellermann2014-12-102-9/+5
| | |
* | | decoder/ffpmeg: rename functions to CamelCaseMax Kellermann2014-12-103-17/+17
| | |
* | | decoder/ffmpeg: optimize ffmpeg_scan_dictionary()Max Kellermann2014-12-101-7/+9
| | | | | | | | | | | | | | | Don't scan tag items if the handler doesn't implement the tag() method.