Commit message (Collapse) | Author | Files | Lines | ||
---|---|---|---|---|---|
2014-10-17 | playlist/extm3u: strip first line for #EXTM3U detection | Max Kellermann | 1 | -2/+6 | |
2014-10-11 | ThreadInputStream: call ThreadRead() inside the thread instead of Read() | Max Kellermann | 1 | -1/+1 | |
Fixes deadlock bug in the "mms" plugin. | |||||
2014-10-11 | ThreadInputStream: add assertions | Max Kellermann | 1 | -0/+8 | |
2014-10-11 | util/DynamicFifoBuffer: make the "Range" type public | Max Kellermann | 1 | -0/+1 | |
Export it from the protected base class. This fixes a build failure on Mac OS X. | |||||
2014-10-10 | db/upnp/Util: move caturl() to util/UriUtil.cxx | Max Kellermann | 6 | -32/+39 | |
2014-10-10 | event/IdleMonitor: remove redundant comment | Max Kellermann | 1 | -2/+1 | |
2014-10-10 | ZeroconfBonjour: use htons() instead of g_htons() | Max Kellermann | 1 | -3/+3 | |
2014-10-10 | TagString: implement fix_utf8() without GLib | Max Kellermann | 1 | -22/+34 | |
2014-10-10 | util/UTF8: add SequenceLengthUTF8() | Max Kellermann | 2 | -0/+96 | |
2014-10-10 | util/UTF8: new library | Max Kellermann | 2 | -0/+339 | |
2014-10-10 | TagString: return WritableBuffer<char> | Max Kellermann | 3 | -24/+26 | |
2014-10-10 | TagString: use strndup() for unterminated string | Max Kellermann | 1 | -1/+1 | |
Fixes buffer overflow bug. | |||||
2014-10-10 | TagString: remove ISO-Latin-1 fallback | Max Kellermann | 1 | -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. | |||||
2014-10-10 | fs/Traits: use value_type | Max Kellermann | 1 | -4/+4 | |
2014-10-10 | Main: run the OS X native event loop | nanotech | 3 | -0/+50 | |
2014-10-09 | storage/nfs: use the libnfs async API | Max Kellermann | 3 | -49/+397 | |
Share the NFS connection with the NFS input plugin. | |||||
2014-10-09 | lib/nfs/Connection: reduce Error instance allocations | Max Kellermann | 1 | -3/+2 | |
2014-10-09 | lib/nfs/Glue: add assertion | Max Kellermann | 1 | -0/+1 | |
2014-10-09 | StoragePlugin: pass EventLoop to constructor | Max Kellermann | 9 | -14/+23 | |
2014-10-07 | storage/nfs: move code to class MemoryStorageDirectoryReader | Max Kellermann | 3 | -73/+150 | |
Read all directory entries into memory and close the struct nfsdir before returning the StorageDirectoryReader instance. This is what libnfs does, anyway. | |||||
2014-10-07 | storage/nfs: move code to Copy() | Max Kellermann | 1 | -18/+30 | |
2014-10-07 | lib/nfs/Connection: add methods {Open,Read,Close}Directory() | Max Kellermann | 2 | -0/+53 | |
2014-10-07 | lib/nfs/Connection: add method Stat(path) | Max Kellermann | 2 | -0/+33 | |
2014-10-06 | lib/nfs/Connection: make GetEventLoop() public | Max Kellermann | 1 | -4/+4 | |
2014-10-05 | lib/nfs/Base: kludge to reduce number of NFS mounts | Max Kellermann | 4 | -7/+127 | |
Creating a NfsStorage sets its own export_name as the "base". Now NfsFileReader can use this information to derive the export_name to be mounted, instead of guessing. This solves the "too many connection" problem on the NFS server while updating the database. | |||||
2014-10-02 | PlaylistStream: use OpenLocalInputStream() | Max Kellermann | 1 | -5/+3 | |
2014-10-02 | PlaylistStream: pass Path instance to playlist_open_path() | Max Kellermann | 3 | -11/+19 | |
Convert filesystem charset to UTF-8 for playlist_list_open_uri(). This fixes one of many remaining charset bugs. | |||||
2014-10-02 | archive/bzip2: use OpenLocalInputStream() | Max Kellermann | 1 | -2/+2 | |
2014-10-02 | input/Open: use OpenLocalInputStream() | Max Kellermann | 5 | -33/+34 | |
Make the "open" method of plugins "file" and "archive" dummy methods that always fail. Instead, let InputStream::Open() hard-code access to these two plugins by using OpenLocalInputStream(). This allows simplifyin the algorithm for falling back to probing archive plugins. | |||||
2014-10-02 | DecoderThread: use OpenLocalInputStream() for local files | Max Kellermann | 1 | -1/+20 | |
2014-10-02 | TagFile: use OpenLocalInputStream() | Max Kellermann | 1 | -3/+4 | |
2014-10-02 | input/LocalOpen: new library for opening local files | Max Kellermann | 2 | -0/+86 | |
Combines the "file" and the "archive" input plugins. | |||||
2014-10-02 | input/archive: export function OpenArchiveInputStream() | Max Kellermann | 2 | -16/+33 | |
2014-10-02 | input/file: export function OpenFileInputStream() | Max Kellermann | 2 | -13/+37 | |
2014-10-02 | input/file: generate Error when errno==ENOENT | Max Kellermann | 1 | -1/+1 | |
This special case was useless. Fixes the dreaded "Unrecognized URI" error message when a file does not exist. | |||||
2014-10-02 | input/file: make the "fd" attribute "const" | Max Kellermann | 1 | -1/+1 | |
2014-10-02 | input/file: make variables more local | Max Kellermann | 1 | -6/+3 | |
2014-10-02 | storage: remove redundant "virtual" keywords | Max Kellermann | 5 | -38/+34 | |
"override" implies "virtual". | |||||
2014-10-02 | input/file: convert to class | Max Kellermann | 1 | -1/+2 | |
2014-10-01 | storage/Interface: include cleanup | Max Kellermann | 7 | -2/+11 | |
2014-10-01 | lib/nfs/FileReader: postpone the nfs_close_async() call | Max Kellermann | 4 | -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-01 | lib/nfs/Connection: fix memory leak when cancelling Open() | Max Kellermann | 2 | -5/+23 | |
Close the newly allocated file handle passed to the callback. | |||||
2014-10-01 | lib/nfs/Connection: remove Mutex | Max Kellermann | 2 | -18/+12 | |
All locks are currenly held from only a single thread (the IOThread) and thus we don't need the Mutex. | |||||
2014-10-01 | lib/nfs/Connection: add method GetEventLoop() | Max Kellermann | 2 | -1/+5 | |
2014-10-01 | lib/nfs/Connection: remove obsolete flag postponed_destroy | Max Kellermann | 2 | -18/+2 | |
2014-10-01 | lib/nfs/Connection: remove deprecated move constructor workaround | Max Kellermann | 1 | -16/+0 | |
Not used anymore because NfsManager now uses boost::intrusive::set instead of std::map. | |||||
2014-10-01 | storage/nfs: make a few attributes "const" | Max Kellermann | 1 | -3/+3 | |
2014-10-01 | lib/nfs/Manager: use boost::intrusive::map | Max Kellermann | 2 | -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-01 | lib/nfs/Glue: add assertion | Max Kellermann | 1 | -0/+4 | |
2014-10-01 | lib/nfs/Glue: destruct the NfsManager in the I/O thread | Max Kellermann | 3 | -5/+8 | |
This allows eliminating the indirection code from the NfsConnection destructor. |