Age | Commit message (Collapse) | Author |
|
|
|
This fixes compatibility with Plex DLNA.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/851
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/841
|
|
When mounting something over a directory that is already a mount
point, CompositeStorage::Mount() silently overwrites the previously
mounted storage, disposing it. After that, SimpleDatabase::Mount()
will fail and handle_mount() will roll back the
CompositeStorage::Mount() command, effectively unmounting what was
there before (and also leaking memory).
Closes https://github.com/MusicPlayerDaemon/MPD/issues/918
|
|
Fixes the "Unrecognized URI" error with the udisks storage plugin,
which is caused by the kludge in UdisksStorage::MapUTF8().
|
|
Fixes use-after-free crash bug during MPD shutdown.
|
|
Bug #915 is about an I/O exception thrown where none was allowed,
leading to crash via std::terminate(). However, instead of catching
and logging the error inside the decoder plugin, it should be able to
propagate the I/O error to the MPD core, so MPD can avoid trying other
decoder plugins.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/915
|
|
We shouldn't restart the AudioUnit while the ring buffer is empty, or
else our render callback may emit noise.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/771
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/867
|
|
Fixes memory leak. That's what we get for
|
|
Fixes the first part of
https://github.com/MusicPlayerDaemon/MPD/issues/867
|
|
The formula in osx_output_score_sample_rate() to detect multiples of
the source sample rate was broken: when given a 44.1 kHz input file,
it preferred 16 kHz over 48 kHz, because its `frac_portion(16)=0.75`
is smaller than `frac_portion(48)=0.91`.
That formula, introduced by commit 40a1ebee295c569, looks completely
wrong. It doesn't do what the code comment pretends it does.
Instead of using that `frac_portion` to calculate a score, this patch
adds to the score only if `frac_portion` is nearly `0` or `1`. This
means that the factor is nearly integer.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/904
|
|
Commit
https://github.com/mesonbuild/meson/commit/08224dafcba1b694fb624553e7d84deb565aae22
changed Meson to require BOOST_ROOT for cross builds.
|
|
A bug report (https://github.com/MusicPlayerDaemon/MPD/issues/912)
suggests that on Linux, reading on `cifs` files may rarely return 0 (=
end of file) before the end of the file has really been reached. But
that's just a theory which I need to validate, so this runtime check
shall catch this condition before the assertion in
DecoderBridge::Read() crashes MPD. Let's see.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/912
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/910
|
|
An assertion failure in UpdateQueuedSong() could trigger because the
`prev` parameter is always `nullptr`, but `queued` may be set. And in
fact, calling UpdateQueuedSong() is only necessary when the queued
song was edited, to re-queue it with the new range.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/901
|
|
|
|
|
|
Our Windows build is built with `--disable-netrc`, and that makes
CURLOPT_NETRC fail, causing failures with all streams. D'oh!
Closes https://github.com/MusicPlayerDaemon/MPD/issues/886
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/891
|
|
When the client wants to seek, but the decoder has already finished
decoding the current song, the player restarts the decoder with an
initial seek at the new position. When this initial seek fails, MPD
pretends nothing has happened and plays this song from the start.
With this new flag, a restarted decoder marks the initial seek as
"essential" and fails the decoder if that seek fails.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/895
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/866
|
|
|
|
|
|
The WildMidi project added the pkg-config file in version 0.3.3, but
unfortunately, Debian still doesn't ship it 4 years later:
https://bugs.debian.org/916631
However, for cross-compiling, the pkg-config file is very helpful.
|
|
|
|
Work around Meson bug https://github.com/mesonbuild/meson/issues/3672
|
|
This flag is used by the Android NDK build scripts as well, and this
fixes a build failure (assembler error) with FFmpeg and NDK r21.
|
|
The `db->close()` call was a `nullptr` dereference because the `db`
variable had already been moved.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/839
|
|
The command is used to configure the client's connection, and this
shouldn't require any permissions. The client should be able to do
that before sending a password.
|
|
This reverts commit a5273d699274c0a6274052bb80fcfdd5c7fac88b. It was
wrong and broke the MixRamp unit test.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/844
|
|
|
|
|
|
This fixes a freeze bug in the NFS input/storage plugins: when libnfs
auto-reconnets after a failure, it installs the new socket on the same
file descriptor number. MPD's attempt to unregister the old socket by
calling SocketMonitor::Steal() from NfsConnection::ScheduleSocket()
fails because the new/old socket number is not registered in epoll, so
epoll_ctl() returns ENOENT. The problem is that it left
`scheduled_flags`, and so subsequent Schedule() calls will use
`EPOLL_CTL_MOD`, which will fail again and again. Instead, we need to
use `EPOLL_CTL_ADD` to register the new socket.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/806
Closes https://github.com/MusicPlayerDaemon/MPD/issues/756
|
|
Fixes assertion failure if the callback fails.
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/832
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/833
|
|
Reverts commit fb3564fbe76a10a0825bd06c0ff19f481d94b835
LCMapStringEx() doesn't do what I imagined it would do 5 years ago.
D'oh!
Closes https://github.com/MusicPlayerDaemon/MPD/issues/820
|
|
Unescape the base path and the path coming from the server (href) to fix the
comparison when the server uses different escaped characters.
The outputted name need to be unescaped. Doing that before or after the
HrefToEscapedName() call should not change the current behavior.
|
|
If the file name is "Hello & bye", 3 CharacterData events will be sent with the
State::HREF state:
- "Hello%20"
- "&"
- "%20bye"
Reproduced with files hosted on an apache2 DAV server: 2.4.38-3+deb10u3.
|
|
|
|
Without this, the Pause() call would drop the ring buffers and would
skip a considerable portion of the end of the song.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/824
|
|
|
|
|
|
This consumes more memory (plus 48 kB on 32 bit systems), but reduces
the number of hash collisions, speeding up MPD startup with large
databases.
|
|
Was using the wrong parameter.
|
|
Reduces I/O overhead while reading a compressed database file.
|
|
TODO: Not sure the app could be accepted on the play store without a valid
banner.
|
|
|
|
Apparently, it's not possible to change CURLOPT_NETRC on Android.
|