summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-03-29input/curl: use std::throw_with_nested() instead of logging the exceptionMax Kellermann
Let the caller decide what to do with the original exception.
2019-03-29input/smbclient: use std::throw_with_nested() to construct PluginUnavailableMax Kellermann
Preserve the original exception.
2019-03-29decoder/HybridDSD: downgrade log message to "debug"Max Kellermann
This plugin is interesting only for a tiny fraction of MPD users, so let's not spam everybody else's log with it.
2019-03-29command/playlist: invoke the RemoteTagScanner on all newly added songsMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/234
2019-03-29Haiku: remove redundant calls to delete_sem()François Revol
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.
2019-03-29Haiku: add version info to the resources like win32 doesFrançois Revol
2019-03-29Haiku: fix adding resourcesFrançois Revol
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.
2019-03-29Haiku: fix buildFrançois Revol
2019-03-24filter/AutoConvert: implement Flush()Max Kellermann
2019-03-24filter/Filter: fix typo in API docMax Kellermann
2019-03-20event/ServerSocket: runtime error if abstract sockets are unavailableMax Kellermann
2019-03-20event/ServerSocket: add HAVE_UN check to AddAbstract()Max Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/510
2019-03-20event/ServerSocket, doc, ...: refer to AF_LOCAL as "local socket"Max Kellermann
.. and not "UNIX domain socket. Be consistent about the naming.
2019-03-18src/lib/gcrypt/meson.build: use dependency() for quering linker flagsJörg Krause
Since version 0.49.0 the Meson build system has native support for finding and using the gcrypt library using the `dependency()` function. `dependency()` has the advantage over `find_library()` as it queries the required linker flags for proper linking with external libraries, e.g. libgpg-error. As the latest released version 1.8.4 of libgcrypt does not provide a .pc file, using `libgcrypt-config` is the only way to query the required linker flags. Unfortunately, there is an issue when cross compiling mpd and the user does not define `libgcrypt-config` in the cross file. If the user sets the qobuz feature to `auto` and the target does not have libgcrypt installed, the Meson build system will falsly assume libgcrypt is available for the target as it uses the native `libgcrypt-config` on the host and pretend is has found the library. Therefore, we still rely on `find_library()` to workaround this buggy behavior. This way, if qobuz feature detection is set to `auto`, the feature is disabled in case there is no target libgcrypt available. Fixes building mpd statically with the qobuz feature enabled. Otherwise the build fails with undefined references because of the missing libgpg-error dependency: ``` /sysroot/usr/lib/libgcrypt.a(libgcrypt_la-visibility.o): In function `gcry_strerror': visibility.c:(.text+0x14): undefined reference to `gpg_strerror' ```
2019-03-17PlaylistFile: ignore empty playlist namesMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/465 and https://github.com/MusicPlayerDaemon/MPD/pull/466
2019-03-17lib/xiph: disable Tremor detection if libvorbis was foundMax Kellermann
And disable libvorbis detection if Tremor was explicitly enabled. This fixes a crash bug caused by libvorbis/Tremor ABI conflict caused by commit 4f7d52dbf2eaee15a517363c846650d76f45739f
2019-03-17decoder/ogg: ignore the BOS packet after seek to the beginning of songMax Kellermann
Previously, MPD would skip the current song after attempting to seek to its beginnig, because that was a seek to offset 0. At offset 0, MPD will see the BOS packet again, which results in throwing StopDecoder in MPDOpusDecoder::OnOggEnd(). Closes https://github.com/MusicPlayerDaemon/MPD/issues/470
2019-03-17output/sles: enable power saving modeMax Kellermann
2019-03-17output/plugins/OSXOutputPlugin: add boost meson dependencyJacob Vosmaer
2019-03-16output/pulse: use pa_channel_map_init_extend() instead of _auto()Max Kellermann
Unlike pa_channel_map_init_auto(), pa_channel_map_init_extend() does not fail if there is no valid mapping for the given channel count, but instead maps additional "AUX" channels. Closes https://github.com/MusicPlayerDaemon/MPD/issues/493
2019-03-16decoder/opus: fix replay gain when there are no other tagsMax Kellermann
The `tag_builder.empty()` check was wrong for the SubmitReplayGain() call. Closes https://github.com/MusicPlayerDaemon/MPD/issues/497
2019-03-16song/TagSongFilter: apply negation properly to multiple tag valuesMax Kellermann
The old implementation didn't make a lot of sense; the "!=" operator was not actually the opposite of "==". Closes https://github.com/MusicPlayerDaemon/MPD/issues/505
2019-03-16song/StringFilter: remove obsolete #ifMax Kellermann
2019-03-16song/StringFilter: make MatchWithoutNegation() publicMax Kellermann
2019-03-15song/TagSongFilter: eliminate Match(TagItem)Max Kellermann
2019-03-15song/TagSongFilter: add code commentsMax Kellermann
2019-03-15song/TagSongFilter: improve lambda indentMax Kellermann
2019-03-15song/TagSongFilter: eliminate the std::fill_n() callMax Kellermann
2019-03-15tag/Fallback: add API documentationMax Kellermann
2019-03-15song/TagSongFilter: rename MatchNN() to Match()Max Kellermann
The "NN" suffix used to mean "no negation", but that's not how it's implemented today.
2019-03-14meson.build: remove the libwinpthread-1.dll dependency on WindowsMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/507
2019-03-14command/database: fix "list" with filter expressionMax Kellermann
Disable the 0.11 compatibility mode if the only argument is a filter expression. Closes https://github.com/MusicPlayerDaemon/MPD/issues/506
2019-03-14playlist/flac: copy the URI to fix use-after-free bugMax Kellermann
Closes https://github.com/MusicPlayerDaemon/MPD/issues/508
2019-02-27system/UniqueFileDescriptor: add CreatePipeNonBlock()Max Kellermann
2019-02-27net/StaticSocketAddress: remove GetAddress()Max Kellermann
2019-02-27net/StaticSocketAddress: add GetLocalRaw()Max Kellermann
2019-02-27net/SocketDescriptor: add SetTcpUserTimeout()Max Kellermann
2019-02-27Merge branch 'feature/playlist' of git://github.com/miccoli/MPDMax Kellermann
2019-02-26allow loading playlists specified as absolute filesystem pathsStefano Miccoli
implement for the "load" command the same logic used for the "add" command: local clients can load playlist specified as absolute paths. For relative paths the old logic is preserved: first look for a stored playlist, then look in the music directory.
2019-02-25event/ServerSocket, config/Net: abstract socket supportMax Kellermann
2019-02-23Ensure SEEK_SET is set on systems where stdio.h is not pulled in by accident.Thomas Zander
2019-02-22storage/udisks2: move empty string check out of the fallback block in MapUTF8()Max Kellermann
Even if the LocalStorage is available, return the "udisks://" URI when the MapUTF8() parameter is an empty string. This fixes the mount URI in the state file.
2019-02-22db/simple: call ReturnSong() on mounted databaseMax Kellermann
Fixes a memory leak, or an assertion failure in the debug build.
2019-02-22db/simple: use C++11 initializerMax Kellermann
2019-02-22storage/udisks2: use the relative pathMax Kellermann
Closes #487
2019-02-22storage/udisks2: pass Path to SetMountPoint()Max Kellermann
2019-02-22TagPrint: omit tags which were disabled by the clientMax Kellermann
Closes #471
2019-02-22tag/Mask: fix another typo, this time in `operator^=`Max Kellermann
Similar to commit ff1ff1e54a25ed80abdca9e7e63b36db150ec766
2019-02-21storage/udisks2: use existing mount point if already mountedMax Kellermann
Fixes the "org.freedesktop.UDisks2.Error.AlreadyMounted" error. Closes #485
2019-02-21storage/udisks2: move code to SetMountPoint()Max Kellermann