summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-03-04time/ISO8601: don't use glibc extension in strptime.Érico Rolim
Per the manual for strptime, %F is equivalent %Y-%m-%d, so use that directly.
2021-03-04storage/plugins/CurlStorage: don't use glibc extension inÉrico Rolim
ParseTimePoint. %Z is a glibc extension to strptime, and is a no-op there, due to the mapping between timezone names and their definition (especially when the name comes from a different machine) being ambiguous / impossible. Time in HTTP headers is guaranteed to be UTC. Passing an unknown format to strptime() implementations that don't support it will generally cause them to return NULL, which will lead to ParseTimePoint throwing an exception and ParseTimeStamp using an unnecessary fallback. Since the timezone name goes at the end of the string, we don't need to use %Z to skip it (could be an issue in a different time stamp format), so simply removing %Z works best.
2021-02-26doc/user.rst: update Windows&Android build dependenciesMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1112
2021-02-22decoder/ffmpeg: fix build problem with FFmpeg 3.4Max Kellermann
Regression by commit a22d1c88d7e11bfdc553f38a86d416783421c7e4 Closes https://github.com/MusicPlayerDaemon/MPD/issues/1097
2021-02-22decoder/ffmpeg: move code to IsSeekable(AVFormatContext)Max Kellermann
2021-02-17increment version number to 0.22.7Max Kellermann
2021-02-17fix typo in protocol.rstFlorian Schlichting
Exmaple -> Example
2021-02-16release v0.22.6v0.22.6Max Kellermann
2021-02-16db/simple: fix ExportedSong move constructor for non-owning sourcesMax Kellermann
If the constructor moves from an ExportedSong instance which refers to somebody else's "Tag" instance, the newly constructed instance will instead refer to its own empty "tag_buffer" field. This broke SimpleDatabase::GetSong(), i.e. all songs on the queue restored from the state file or added using the "addid" command. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1089
2021-02-16increment version number to 0.22.6Max Kellermann
2021-02-15release v0.22.5v0.22.5Max Kellermann
2021-02-15android/meson.build: update the SDK platform to 29Max Kellermann
Needed for `requestLegacyExternalStorage` (commit ca02fb7782bea).
2021-02-15command/queue: better error message for open-ended range with "move"Max Kellermann
The "move" command doesn't allow open-ended ranges because they don't make a lot of sense; moving an open-ended range is only possible if the destination index is before the range, and in that case, the client should be well aware how many songs there are. Closes https://github.com/MusicPlayerDaemon/MPD/pull/1057
2021-02-15protocol/ArgParser: check for invalid rangesMax Kellermann
Catch errors like that early, before invalid ranges get passed to internal MPD subsystems.
2021-02-15protocol/RangeArg: add methods IsWellFormed(), IsEmpty(), HasAtLeast(), Count()Max Kellermann
2021-02-15protocol/RangeArg: add static method Single()Max Kellermann
2021-02-15protocol/RangeArg: add method IsOpenEnded()Max Kellermann
2021-02-15protocol/RangeArg: add static method OpenEnded()Max Kellermann
2021-02-15protocol/RangeArg: add missing `noexcept`Max Kellermann
2021-02-15src/output: Set thread name for Wasapi output threadShen-Ta Hsieh
2021-02-15src/win32: run clang-formatShen-Ta Hsieh
2021-02-15src/win32: Add error message for NO_ERRORShen-Ta Hsieh
2021-02-15android/AndroidManifest.xml: enable requestLegacyExternalStorageMax Kellermann
This is a workaround for the new scoped storage design in Android 11: https://developer.android.com/about/versions/11/privacy/storage This needs a proper solution eventually, but this quick fix will do until we change "targetSdkVersion" to 30. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1061
2021-02-15db/simple: fix dangling LightSong::tag reference in moved ExportedSongMax Kellermann
After commit 1afa33c3c766af2, an old bug was revealed: SimpleDatabase::GetSong() constructs an ExportedSong instance by moving the return value of Song::Export(), which causes the LightSong::tag field to be dangling on the moved-from ExportedSong::tag_buffer. This broke tags from CUE sheets. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1070
2021-02-15output/Thread: skip drain calls if there is no data to be playedMax Kellermann
Keep track of whether there is data being played, and don't call AudioOutput::Drain() after Cancel() has been called already.
2021-02-15output/pulse: don't drain if stream is suspended or corkedMax Kellermann
In this state, we can't make any progress. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1084
2021-02-15output/pulse: move code to virtual method Drain()Max Kellermann
Drain only if it was requested explicitly.
2021-02-15output/pulse: eliminate the `pause` fieldMax Kellermann
It is useless, because we're always checking pa_stream_is_corked().
2021-02-15doc/developer.rst: update branch namesMax Kellermann
2021-02-15doc/protocol.rst: document `add` on local socketMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1022
2021-02-07python/build/libs.py: enable CURL/schannel support on WindowsMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1031
2021-02-07archive/iso9660: another fix for unaligned readsMax Kellermann
Commit 79b2366387dcd5f4ccae50eacf1ae06973f01d83 added the field `skip` to support unaligned reads, but set the `offset` field to a wrong value. This resulted in miscalculation of `remaining`, causing an assertion failure. The fix is to assign `offset` the correct value, but consider the `skip` value in the assertion. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1067
2021-02-07archive/iso9660: check "skip==0" before doing optimized large readMax Kellermann
After a Seek() to an odd offset, some data needs to be skipped from the start of the block, and reading right into the given buffer doesn't work.
2021-02-07test/run_input: add option --seekMax Kellermann
2021-02-07test/run_input: document more optionsMax Kellermann
2021-02-07Fix: Separate Conductor from Performervkostas
Conductor was incorrectly saved to Performer tag in MPD database
2021-01-21net/SocketError: add syscall specific check functionsMax Kellermann
Fixes Windows compatibility.
2021-01-21net/SocketError: relicense to BSD-2Max Kellermann
2021-01-21increment version number to 0.22.5Max Kellermann
2021-01-21android/AndroidManifest.xml: android release 0.22.4Max Kellermann
2021-01-21android/AndroidManifest.xml: raise targetSdkVersion to 29Max Kellermann
The Google overlords require me to change to 29 or else I can't upload new releases to Google Play. https://developer.android.com/distribute/best-practices/develop/target-sdk
2021-01-21release v0.22.4v0.22.4Max Kellermann
2021-01-21protocol: add command "binarylimit"Max Kellermann
Increasing the protocol version to 0.22.4 to allow clients to detect this feature. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1038
2021-01-21client/FileCommands: validate the given offsetMax Kellermann
2021-01-21event/FullyBufferedSocket: add method GetOutputMaxSize()Max Kellermann
2021-01-21util/PeakBuffer: add method max_size()Max Kellermann
2021-01-21util/PeakBuffer: use std::byte instead of std::uint8_tMax Kellermann
2021-01-21util/PeakBuffer: add `noexcept`Max Kellermann
2021-01-21util/PeakBuffer: use std::size_tMax Kellermann
2021-01-21util/ForeignFifoBuffer: use `auto`Max Kellermann