Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-08-06 | mixer/alsa: use cached values to work around rounding errors | Max Kellermann | |
This replaces 967af603270246f1c97e11b8bad6a0eb65c81318 with a more effective workaround. Closes https://github.com/MusicPlayerDaemon/MPD/issues/822 | |||
2021-08-06 | mixer/alsa: skip the snd_mixer_handle_events() call in ↵ | Max Kellermann | |
alsa_mixer_elem_callback() snd_mixer_handle_events() has already been called by DispatchSockets(). This way, we can also skip the exception handler. | |||
2021-08-06 | mixer/alsa: move alsa_mixer_elem_callback() into the AlsaMixer class | Max Kellermann | |
2021-08-06 | mixer/alsa: move code to GetPercentVolume() | Max Kellermann | |
2021-08-06 | mixer/alsa: move code to NormalizedToPercent() | Max Kellermann | |
2021-08-06 | mixer/alsa: move code to GetNormalizedVolume() | Max Kellermann | |
2021-08-05 | db/simple: prune CUE entries from database for non-existent songs | Max Kellermann | |
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1019 | |||
2021-08-05 | db/update/Playlist: prepend "../" only for relative URIs | Max Kellermann | |
Prepending "../" to absolute URIs would break them. | |||
2021-08-05 | fs/Traits: add PathTraitsUTF8::IsAbsoluteOrHasScheme() | Max Kellermann | |
2021-08-05 | db/simple/Directory: remove obsolete API doc | Max Kellermann | |
2021-08-05 | decoder/Bridge: call UpdateStreamTag() only if there is no pending seek | Max Kellermann | |
If UpdateStreamTag() gets called while an initial seek is pending, the result will never be submitted to a MusicChunk. By avoiding the UpdateStreamTag() call in that case (by moving UpdateStreamTag() to after the PrepareInitialSeek() check), the song_tag is preserved until UpdateStreamTag() is called again from SubmitData(). This fixes missing tags in the "httpd" output. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1137 | |||
2021-08-05 | output/oss: always enable PcmExport for alsa_channel_order | Max Kellermann | |
We need this even when AFMT_S24_PACKED is not available, for the correct channel order in multi-channel files. Internally, MPD uses FLAC channel order, but OSS uses the same channel order as ALSA. | |||
2021-08-05 | tag/Builder: do not acquire tag_pool_lock if TagItem list is empty | Max Kellermann | |
2021-08-05 | tag/Builder: use std::swap() in move operator | Max Kellermann | |
This way, we save the overhead for acquiring the tag_pool_lock. | |||
2021-08-05 | tag/Builder: don't ignore the result of tag_pool_dup_item | Cebtenzzre | |
Also, use RemoveAll() instead of directly clearing TagBuilder::items in most cases, as its elements represent references that must be released. Closes #1023 | |||
2021-08-05 | tag/Builder: another missing RemoveAll() call | Cebtenzzre | |
2021-08-05 | tag/Builder: use RemoveAll() to give up references | Cebtenzzre | |
2021-08-05 | tag/Pool: add [[nodiscard]] | Cebtenzzre | |
2021-08-05 | input/tidal: remove defunct unmaintained plugin | Max Kellermann | |
This plugin has been defunct for several years. Tidal has not ever replied to any of my emails, so they're apparently not interested in MPD support. | |||
2021-08-02 | input/icy: adjust offset at end of stream in Read() | Max Kellermann | |
ProxyInputStream::Read() assigns the `offset` field, which is the wrong offset because it does not consider Icy metadata removed from the stream. Therefore, after every ProxyInputStream::Read() call, IcyInputStream::Read() needs to override this offset. This was missing at the end of the stream, when Read()==0. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1216 | |||
2021-07-30 | db/simple/ExportedSong: check src.OwnsTag(), not this->OwnsTag() | Max Kellermann | |
this->OwnsTag() accesses fields that are not yet initialized. | |||
2021-07-16 | command/file: support "albumart" for virtual tracks in CUE sheets | Max Kellermann | |
Instead of checking for "cover.jpg" in the virtual directory representing the CUE sheet, check its enclosing directory. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1206 | |||
2021-07-16 | command/file: pass directory uri to read_stream_art() | Max Kellermann | |
2021-07-16 | fs/Traits: add overload GetParent(string_view) | Max Kellermann | |
2021-07-16 | output/winmm: fix struct/class mismatch | Max Kellermann | |
2021-06-23 | TagAny: invoke ScanGenericTags() on remote files | Max Kellermann | |
This fixes reading ID3 tags on remote files with the commands "readcomments" and "readpicture". Closes https://github.com/MusicPlayerDaemon/MPD/issues/1180 | |||
2021-06-22 | Main: use AtScopeExit() to call ZeroconfDeinit() | Max Kellermann | |
Make sure that ZeroconfDeinit() gets called even if startup fails with an exception. Fixes an assertion failure because an Avahi TimerEvent is still active. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1192 | |||
2021-05-31 | decoder/ffmpeg: fix build failure with FFmpeg 3.4 | Max Kellermann | |
av_demuxer_iterate() was added in libavformat 58.9.100. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1178 | |||
2021-05-31 | decoder/ffmpeg: suppress -Wunused with libavformat<58.6.100 | Max Kellermann | |
2021-05-31 | db/proxy: suppress -Wunused with libmpdclient<2.12 | Max Kellermann | |
2021-05-27 | input/last: call Close() in Open() | Max Kellermann | |
Prevents a possible bug which occurs when the caller-provided open() function throws; then the "uri" field is never set. | |||
2021-05-27 | input/last: clear "uri" field in Close() | Max Kellermann | |
Prevent false negative after the stream was closed automatically after 20 seconds. | |||
2021-05-26 | decoder/ffmpeg: support the tags "album-sort", "artist-sort" | Max Kellermann | |
2021-05-26 | decoder/ffmpeg: support the "sort_album" tag | Max Kellermann | |
From libavformat/mov.c. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1173 | |||
2021-05-26 | decoder/ffmpeg: add comment | Max Kellermann | |
2021-05-26 | decoder/ffmpeg: remove "year" tag | Max Kellermann | |
This mapping was added 11 years ago in commit 766b9fd453a, but FFmpeg doesn't appear to support it. | |||
2021-05-26 | decoder/ffmpeg: fix ArtistSort and AlbumArtistSort mapping | Max Kellermann | |
These were added 11 years ago in commit 766b9fd453a, but I cannot find any evidence in the FFmpeg repository that these names were ever supported. This commit adds the tags as they are currently present in libavformat/mov.c. | |||
2021-05-25 | db/update/Walk: load all .mpdignore files of all parent directories | Max Kellermann | |
When updating everything, this did work, but if updating only a subdirectory, the ".mpdignore" in the parents were not used. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1172 | |||
2021-05-25 | db/update/Walk: move code to LoadExcludeList() | Max Kellermann | |
2021-05-25 | zeroconf/AvahiPoll: the struct timeval is an absolute time point | Max Kellermann | |
Fixes broken libavahi-client timeouts. | |||
2021-05-25 | zeroconf/AvahiPoll: move code to Schedule() | Max Kellermann | |
2021-05-25 | zeroconf/AvahiPoll: rename "timer" to "event" | Max Kellermann | |
2021-05-25 | decoder/mad: move variable declaration into "case" | Max Kellermann | |
2021-05-25 | zeroconf/avahi: move variable declaration into "case" | Max Kellermann | |
2021-05-25 | subprojects/sqlite3.wrap: add SQLite wrap | Max Kellermann | |
2021-05-25 | sticker/Database: pass NarrowPath to sqlite3_open() | Max Kellermann | |
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1171 | |||
2021-05-25 | lib/sqlite/meson.build: add missing external dependency on libsqlite | Max Kellermann | |
2021-05-25 | util/RuntimeError: Disable format-security for gcc | Namkhai B | |
Fixes building under GCC 11 | |||
2021-05-22 | input/last: add nullptr check to Open(), fixes assertion failure | Max Kellermann | |
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1168 | |||
2021-05-19 | CommandLine: update copyright year in --version output | Max Kellermann | |