- 26 Jun, 2019 6 commits
-
-
Max Kellermann authored
Fix build breakage from commit ea639269
-
Max Kellermann authored
-
Max Kellermann authored
Closes https://github.com/MusicPlayerDaemon/MPD/issues/589
-
Max Kellermann authored
This makes the configuration error more visible, possibly addressing one part of https://github.com/MusicPlayerDaemon/MPD/issues/589
-
Max Kellermann authored
-
Max Kellermann authored
-
- 17 Jun, 2019 3 commits
-
-
Max Kellermann authored
Workaround for a regression caused by commit a06bf388, revealing a problem with discarding odd numer of frames in the DSD_U32 and DoP converters, causing distortions with DSD_U32 and DoP on 32 bit CPUs. Closes https://github.com/MusicPlayerDaemon/MPD/issues/469
-
Max Kellermann authored
This can happen if the DoP converter doesn't get enough source samples for one destination quad. This isn't a critical bug, because the OSS plugin doesn't support DoP yet, but it's good to be prepared.
-
Max Kellermann authored
-
- 16 Jun, 2019 1 commit
-
-
Max Kellermann authored
Instead of passing tag and group, pass an array of tags. To support a nested return value, return a nested std::map of std::maps. Each key specifies the tag value, and each value may be another nesting level. Closes https://github.com/MusicPlayerDaemon/MPD/issues/408
-
- 05 Jun, 2019 4 commits
-
-
Max Kellermann authored
Since we now don't duplicate all items, we can easily remove the 64kB limit from OpusReader::ReadString() and instead silently ignore and skip all strings which are longer than 4 kB. This fixes a tag duplication bug with Opus file containing a very long `METADATA_BLOCK_PICTURE` tag, which occurred because the Opus plugin returned false after parsing all tags, and then the MPD core fell back to FFmpeg which scanned the tags again.
-
cathugger authored
Return `404 not found` for some common well-known paths, as clients requesting them usually do that automatically and don't expect endless audio stram. Closes #572
-
cathugger authored
memcmp use may result in out of bounds access
-
Max Kellermann authored
-
- 31 May, 2019 1 commit
-
-
Max Kellermann authored
This reverts commit ff3e2c05. The check was necessary, after all, because this is what checked whether the decoder had finished the current or the next song. > The "queued" flag can only possibly be set if the decoder is still > decoding the current song or if the decoder is stopped. That was wrong because ProcessCommand() sets `queued=true` and also starts the decoder (if it was idle). > This is also what the following assert() checks. That was also wrong, because the assert() has two conditions. Closes https://github.com/MusicPlayerDaemon/MPD/issues/566
-
- 20 May, 2019 2 commits
-
-
Max Kellermann authored
If the decoder finishes decoding the current song between the two IsIdle() checks, MPD stops playback instead of starting the decoder for the next song. This is usually not visible problem, because the main thread restarts it via playlist::ResumePlayback(), but that way it, ignores "single" mode. As a workaround, this commit adds another "queued" check which re-enters the player loop and checks again whether to start the decoder. Closes https://github.com/MusicPlayerDaemon/MPD/issues/556
-
Max Kellermann authored
The "queued" flag can only possibly be set if the decoder is still decoding the current song or if the decoder is stopped. This is also what the following assert() checks. This check was not necessary.
-
- 17 May, 2019 1 commit
-
-
Max Kellermann authored
-
- 16 May, 2019 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 23 Apr, 2019 1 commit
-
-
Max Kellermann authored
This enables the input buffer for remote files and caches file contents in MPD. Closes https://github.com/MusicPlayerDaemon/MPD/issues/376
-
- 18 Apr, 2019 4 commits
-
-
Max Kellermann authored
Commit b3a45833 added a LocateUri() call to several playlist commands, which applied InputPlugin URI scheme verification to playlist URIs. This broke the SoundCloud playlist plugin which uses "soundcloud://" URIs for which no input plugin exists. This commit allows the caller to specify the kind of plugin which shall be used to verify the URI. Right now, only "input" is implemented; "storage" uses the "input" verification for now; and "playlist" has no verification at all (for now). Closes https://github.com/MusicPlayerDaemon/MPD/issues/528
-
Max Kellermann authored
There is already one call in ReadServers(), which is the correct place to do it.
-
Max Kellermann authored
Split several printf() calls to make it easier to deal with all those #ifdefs.
-
Eugene Gorodinsky authored
-
- 04 Apr, 2019 4 commits
-
-
Max Kellermann authored
Expect OnSocketReady() to cancel events. If it returns false, the SocketMonitor may be destructed already. This fixes a use-after-free bug in the "httpd" output plugin.
-
Max Kellermann authored
-
Max Kellermann authored
Keep the SocketMonitor registered. This wrong return value was added 6 years ago in commit 72cf8dd8, andd apparently, nobody ever noticed.
-
Max Kellermann authored
This missing piece probably never really hurt, because HttpdClient::OnSocketClosed() would be called right after a socket error, but it's better to be explicit about closing on error.
-
- 03 Apr, 2019 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Fixes: src/net/IPv4Address.hxx: In member function 'constexpr IPv4Address::operator SocketAddress() const': src/net/IPv4Address.hxx:171:24: error: a reinterpret_cast is not a constant expression 171 | return SocketAddress((const struct sockaddr *)&address, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/net/IPv6Address.hxx: In member function 'constexpr IPv6Address::operator SocketAddress() const': src/net/IPv6Address.hxx:138:24: error: a reinterpret_cast is not a constant expression 138 | return SocketAddress((const struct sockaddr *)&address, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Closes https://github.com/MusicPlayerDaemon/MPD/issues/522
-
- 29 Mar, 2019 7 commits
-
-
Max Kellermann authored
Let the caller decide what to do with the original exception.
-
Max Kellermann authored
Preserve the original exception.
-
Max Kellermann authored
This plugin is interesting only for a tiny fraction of MPD users, so let's not spam everybody else's log with it.
-
Max Kellermann authored
Closes https://github.com/MusicPlayerDaemon/MPD/issues/234
-
François Revol authored
Fixes #184. Semaphores are kernel-managed objects, calling delete_sem() twice is not more dangerous than calling close() twice on an fd though, it would just return an error.
-
François Revol authored
-
François Revol authored
The custom_command was run in src/haiku/ and created a file with only resources inside. Since xres edits the file in-place and meson doesn't like it, we have to run a shell script for now. Maybe later I'll add proper support in meson.
-