summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-02-25Client: replace playlist and player_control with getter methodsMax Kellermann
Prepare to convert "partition" to a mutable pointer.
2017-02-24SongPrint: remove Storage::MapToRelativeUTF8() callMax Kellermann
This code (added 7 years ago with commit b233c145f) has been obsoleted by the SongLoader class (added 3 years ago).
2017-02-24fs/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-21input/curl: use %lu instead of %lluMax Kellermann
Fixes a GCC warning because %llu appears to be unsupported by the Windows standard library.
2017-02-21input/curl: format Range offset as unsignedMax Kellermann
2017-02-20SongPrint: move duplicate code into PrintRange()Max Kellermann
2017-02-20Merge tag 'v0.20.5'Max Kellermann
release v0.20.5
2017-02-20util/TimeFormat: suppress -Wunused on WindowsMax Kellermann
2017-02-20haiku: fix buildFrançois Revol
Some missing bits when converted to C++ exceptions...
2017-02-19output/httpd: use emplace() instead of push()Max Kellermann
2017-02-19output/httpd: wake up the I/O thread only if pages have been read from encoderMax Kellermann
2017-02-19output/httpd: no mutex lock while reading data from encoderMax Kellermann
2017-02-19output/httpd: use std::lock_guardMax Kellermann
2017-02-19output/httpd: cancel the DeferredMonitor in Close()Max Kellermann
2017-02-19output/httpd: move Close() lock into the I/O threadMax Kellermann
Fixes a potential deadlock introduced by commit 945287358b6
2017-02-19output/httpd/Page: use std::shared_ptr instead of class RefCountMax Kellermann
2017-02-19output/httpd/Page: no variable size, use AllocatedArrayMax Kellermann
Using variable-size objects is not worth the trouble here. Let's drop this and use existing and simpler code.
2017-02-19output/httpd/Page: make all attributes privateMax Kellermann
2017-02-19output/httpd/Page: remove unused method Concat()Max Kellermann
2017-02-19output/httpd/Page: use uint8_t instead of unsigned charMax Kellermann
2017-02-19Merge branch 'v0.20.x'Max Kellermann
2017-02-19tag/Handler: improve snprintf() return value checkMax Kellermann
2017-02-19output/httpd/IcyMetaDataServer: cast length to unsignedMax 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-19output/httpd/IcyMetaDataServer: pad the string with 15 spacesMax 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-19output/httpd/IcyMetaDataServer: remove the int castMax Kellermann
Why did this cast exist??
2017-02-17IdleFlags: add a "partition" eventMax Kellermann
2017-02-17command/Partition: add command "newpartition"Max Kellermann
2017-02-17output/MultipleOutputs: add method AddNullOutput()Max Kellermann
2017-02-17Instance: make "partition" a std::listMax 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-17Instance: un-inline the constructorMax Kellermann
2017-02-17Instance: use C++11 initializerMax Kellermann
2017-02-17Partition: add "name" attributeMax Kellermann
2017-02-17command: add command "listpartitions"Max Kellermann
The first step to multi-player support. Not much, just a dummy command.
2017-02-15output/alsa: fix race condition on early snd_pcm_writei() errorMax 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-11storage/FileInfo: convert mtime to std::chrono::system_clock::time_pointMax Kellermann
2017-02-11storage/FileInfo: add initializing constructorMax Kellermann
2017-02-11db/simple/Directory: make parent and path constMax Kellermann
2017-02-11db/simple/Directory: use C++11 initializersMax Kellermann
2017-02-11db/Interface: GetUpdateStamp() returns std::chrono::system_clock::time_pointMax Kellermann
2017-02-11util/ChronoUtil: new utility library for std::chronoMax Kellermann
2017-02-10fs/FileInfo: use std::chrono::system_clockMax Kellermann
2017-02-10TimePrint: std::chrono::system_clock supportMax Kellermann
2017-02-10thread/Thread: use BoundMethodMax Kellermann
2017-02-10thread/Thread: move code to Run()Max Kellermann
2017-02-10thread/Thread: Start() returns voidMax Kellermann
Since we switched to C++ exceptions, there is no code path which returns false.
2017-02-10event/Thread: remove the MutexMax Kellermann
We don't need to access Thread::handle early inside the EventThread, so we don't need this trick anymore.
2017-02-10IOThread: move EventThread instance into struct InstanceMax Kellermann
Eliminate global variables.
2017-02-10event/Loop: Break() is no-op if "quit" is already setMax Kellermann
2017-02-10event/Thread: auto-stop in the destructorMax Kellermann
2017-02-10input/alsa: use the EventLoop& passed to init() instead of io_thread_get()Max Kellermann