Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-02-25 | Client: replace playlist and player_control with getter methods | Max Kellermann | |
Prepare to convert "partition" to a mutable pointer. | |||
2017-02-24 | SongPrint: remove Storage::MapToRelativeUTF8() call | Max Kellermann | |
This code (added 7 years ago with commit b233c145f) has been obsoleted by the SongLoader class (added 3 years ago). | |||
2017-02-24 | fs/Traits: allow base to end with a slash in Relative() | Max Kellermann | |
Fixes false negatives: http://foo/dav/example.ogg mismatches http://foo/dav/ .. because StringAfterPrefix() returns just "example.ogg", without trailing slash (it existed, but was eaten already by the base matcher). | |||
2017-02-21 | input/curl: use %lu instead of %llu | Max Kellermann | |
Fixes a GCC warning because %llu appears to be unsupported by the Windows standard library. | |||
2017-02-21 | input/curl: format Range offset as unsigned | Max Kellermann | |
2017-02-20 | SongPrint: move duplicate code into PrintRange() | Max Kellermann | |
2017-02-20 | Merge tag 'v0.20.5' | Max Kellermann | |
release v0.20.5 | |||
2017-02-20 | util/TimeFormat: suppress -Wunused on Windows | Max Kellermann | |
2017-02-20 | haiku: fix build | François Revol | |
Some missing bits when converted to C++ exceptions... | |||
2017-02-19 | output/httpd: use emplace() instead of push() | Max Kellermann | |
2017-02-19 | output/httpd: wake up the I/O thread only if pages have been read from encoder | Max Kellermann | |
2017-02-19 | output/httpd: no mutex lock while reading data from encoder | Max Kellermann | |
2017-02-19 | output/httpd: use std::lock_guard | Max Kellermann | |
2017-02-19 | output/httpd: cancel the DeferredMonitor in Close() | Max Kellermann | |
2017-02-19 | output/httpd: move Close() lock into the I/O thread | Max Kellermann | |
Fixes a potential deadlock introduced by commit 945287358b6 | |||
2017-02-19 | output/httpd/Page: use std::shared_ptr instead of class RefCount | Max Kellermann | |
2017-02-19 | output/httpd/Page: no variable size, use AllocatedArray | Max Kellermann | |
Using variable-size objects is not worth the trouble here. Let's drop this and use existing and simpler code. | |||
2017-02-19 | output/httpd/Page: make all attributes private | Max Kellermann | |
2017-02-19 | output/httpd/Page: remove unused method Concat() | Max Kellermann | |
2017-02-19 | output/httpd/Page: use uint8_t instead of unsigned char | Max Kellermann | |
2017-02-19 | Merge branch 'v0.20.x' | Max Kellermann | |
2017-02-19 | tag/Handler: improve snprintf() return value check | Max Kellermann | |
2017-02-19 | output/httpd/IcyMetaDataServer: cast length to unsigned | Max Kellermann | |
Fixes another buffer overflow: if the stream has a very long title or URL, resulting in a metadata string of more than 2 kB, icy_string[0] is a negative value, which gets casted to size_t - ouch! https://bugs.musicpd.org/view.php?id=4652 | |||
2017-02-19 | output/httpd/IcyMetaDataServer: pad the string with 15 spaces | Max Kellermann | |
Fixes a buffer overflow due to the bad formula rounding the buffer size up. At the same time, remove the "+1" from the meta_length calculation, which takes the padding into account and at the same time implements proper rounding. | |||
2017-02-19 | output/httpd/IcyMetaDataServer: remove the int cast | Max Kellermann | |
Why did this cast exist?? | |||
2017-02-17 | IdleFlags: add a "partition" event | Max Kellermann | |
2017-02-17 | command/Partition: add command "newpartition" | Max Kellermann | |
2017-02-17 | output/MultipleOutputs: add method AddNullOutput() | Max Kellermann | |
2017-02-17 | Instance: make "partition" a std::list | Max Kellermann | |
With this commit, multi-player support becomes possible... it's just not wired to the frontend yet. This is based on massive amounts of refactoring work I did over the past 9 years. | |||
2017-02-17 | Instance: un-inline the constructor | Max Kellermann | |
2017-02-17 | Instance: use C++11 initializer | Max Kellermann | |
2017-02-17 | Partition: add "name" attribute | Max Kellermann | |
2017-02-17 | command: add command "listpartitions" | Max Kellermann | |
The first step to multi-player support. Not much, just a dummy command. | |||
2017-02-15 | output/alsa: fix race condition on early snd_pcm_writei() error | Max Kellermann | |
During UnlockActivate() while the mutex is unlocked, the IOThread can set a new error condition, and will never again wake up the OutputThread. This race condition can cause a deadlock in the OutputThread. | |||
2017-02-11 | storage/FileInfo: convert mtime to std::chrono::system_clock::time_point | Max Kellermann | |
2017-02-11 | storage/FileInfo: add initializing constructor | Max Kellermann | |
2017-02-11 | db/simple/Directory: make parent and path const | Max Kellermann | |
2017-02-11 | db/simple/Directory: use C++11 initializers | Max Kellermann | |
2017-02-11 | db/Interface: GetUpdateStamp() returns std::chrono::system_clock::time_point | Max Kellermann | |
2017-02-11 | util/ChronoUtil: new utility library for std::chrono | Max Kellermann | |
2017-02-10 | fs/FileInfo: use std::chrono::system_clock | Max Kellermann | |
2017-02-10 | TimePrint: std::chrono::system_clock support | Max Kellermann | |
2017-02-10 | thread/Thread: use BoundMethod | Max Kellermann | |
2017-02-10 | thread/Thread: move code to Run() | Max Kellermann | |
2017-02-10 | thread/Thread: Start() returns void | Max Kellermann | |
Since we switched to C++ exceptions, there is no code path which returns false. | |||
2017-02-10 | event/Thread: remove the Mutex | Max Kellermann | |
We don't need to access Thread::handle early inside the EventThread, so we don't need this trick anymore. | |||
2017-02-10 | IOThread: move EventThread instance into struct Instance | Max Kellermann | |
Eliminate global variables. | |||
2017-02-10 | event/Loop: Break() is no-op if "quit" is already set | Max Kellermann | |
2017-02-10 | event/Thread: auto-stop in the destructor | Max Kellermann | |
2017-02-10 | input/alsa: use the EventLoop& passed to init() instead of io_thread_get() | Max Kellermann | |