Age | Commit message (Collapse) | Author |
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1171
|
|
|
|
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1168
|
|
|
|
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1156
|
|
With the default value CURLAUTH_ANY, libcurl needs to probe for
authentication methods first, and only the second request will have an
Authorization header.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1155
|
|
This enables the JACK output plugin on Windows, but doesn't link
against libjack64.dll, instead loads the DLL at runtime with
LoadLibrary(). This kludge avoids the extremely fragile JACK shared
memory protocol by using the system's libjack64.dll, without requiring
the same DLL at build time.
|
|
Fixes crash when pausing the default partition after an output was
moved to another partition.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1147
|
|
This reverts commit 1532983fb5755305a86fc37d2f35a7757d2bd66f. This
optimization was bad because now all strings match if they are a
prefix of another string, and this caused collisions in the tag string
pool, corrupting the database.
|
|
Upcoming release of game-music-emu will support it, details here: https://bitbucket.org/mpyne/game-music-emu/pull-requests/23/rsn-support
|
|
The current http output doesn't provide a header for cross-origin support. This prevents to use the mpd http stream directly from an other webapplication due the origin from the webpage differs from then the audio stream.
The fix is to add the following header to the http response:
Access-Control-Allow-Origin: *
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1102
|
|
|
|
* Use PcmExport for 24bit packed output
|
|
Per the manual for strptime, %F is equivalent %Y-%m-%d, so use that
directly.
|
|
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.
|
|
Regression by commit a22d1c88d7e11bfdc553f38a86d416783421c7e4
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1097
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
Catch errors like that early, before invalid ranges get passed to
internal MPD subsystems.
|
|
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
|
|
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
|
|
In this state, we can't make any progress.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1084
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1031
|
|
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
|
|
Conductor was incorrectly saved to Performer tag in MPD database
|
|
Fixes Windows compatibility.
|
|
|
|
|
|
Increasing the protocol version to 0.22.4 to allow clients to detect
this feature.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1038
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1059
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1048
|
|
This properly prints the "Time"/"duration" values for songs in virtual
CUE folders.
This is loosely related to
https://github.com/MusicPlayerDaemon/MPD/issues/1048
|
|
`PRIoffset` was wrong, because it expects an `offset_type`
(i.e. `uint64_t`). This broke on 32 bit machines where `size_t` has
32 bits.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1058
|
|
v0.22.x
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1039
|
|
Some FFmpeg filters change the sample format, and since MPD assumes
this never happens, this results in loud noise instead of music. This
commit finally implements the TODO comment by sending one frame of
silence to the filter and checking the output frame's format.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1009
|
|
output to a partition is now done via MultipleOutputs::AddCopy(),using a new AudioOutputControl constructor. Tags and always_on settings willpersist when moving outputs between partitions.
|
|
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1001
|
|
|
|
|
|
Pass a std::string to PathTraitsUTF8::Relative(), implicitly casting
it to std::string_view. This selects the right overload which returns
std::string_view instead of `const char *`; the latter could return
`nullptr` which would cause the implicit conversion of the return
value to std::string_view to crash.
Regression caused by commits ead208987dd and a98d627c0bd.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/995
|
|
This adds support for input samples other than 16 bit to the FFmpeg
filter plugin.
|
|
If the FFmpeg filter outputs planar data, interleave it, just like the
FFmpeg decoder plugin does.
|
|
filter_chain_parse() passes a temporary string pointer which results
in a use-after-free in the PreparedChainFilter::Child::Open() error
message.
|