Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-09-21 | release v0.21.26v0.21.26v0.21.x | Max Kellermann | |
2020-09-21 | archive/iso9660: fix odd seeking bug (assertion failure) | Max Kellermann | |
Skip the beginning of a sector if the last seek was odd, and clear the buffer on seek. | |||
2020-09-21 | archive/iso9660: remove unused macro CEILING() | Max Kellermann | |
2020-09-21 | util/ByteOrder: add FromLE16S() | Max Kellermann | |
2020-09-21 | Support opus header gain tags and match opus playback volume to other tracks ↵ | Desuwa | |
when ReplayGain is enabled. | |||
2020-09-21 | fix double promotions | Rosen Penev | |
Found with -Wdouble-promotion Signed-off-by: Rosen Penev <rosenp@gmail.com> | |||
2020-09-17 | db/update/InotifyUpdate: pass path by value to recursive_watch_subdirectories() | Max Kellermann | |
2020-09-17 | db/update/InotifyUpdate: obey `.mpdignore` files | Max Kellermann | |
Closes https://github.com/MusicPlayerDaemon/MPD/issues/846 | |||
2020-09-16 | db/update/InotifyUpdate: split the WatchDirectory constructor | Max Kellermann | |
2020-09-16 | db/update/InotifyUpdate: use class DirectoryReader | Max Kellermann | |
2020-09-16 | db/update/InotifyUpdate: convert pointer to reference | Max Kellermann | |
2020-09-16 | db/update/InotifyUpdate: remove commented log call | Max Kellermann | |
2020-09-16 | command/file, storage/{nfs,smbclient}: use PathTraitsFS::IsSpecialFilename() | Max Kellermann | |
Eliminate some duplicate code. | |||
2020-09-16 | db/update/InotifySource: use `auto` | Max Kellermann | |
2020-09-16 | db/update/InotifySource: add `noexcept` | Max Kellermann | |
2020-09-16 | db/update/InotifyQueue: add `noexcept` | Max Kellermann | |
2020-09-16 | db/update/Inotify*: include cleanup | Max Kellermann | |
2020-09-16 | player/Thread: call OnPlayerSync() in SeekDecoder() | Max Kellermann | |
This fixes a spurious "single" mode bug which occurs when using "play" or "seek" to start playback on the song that is currently paused: in that case, the main thread never queues the next song, and at the end of the song, the player thread exits Run(), stopping playback, and after that, the main thread starts the next song without considering "single" mode. By calling OnPlayerSync(), we ensure that the main thread gets a chance to queue the next song before the player thread exits the Run() loop. Closes https://github.com/MusicPlayerDaemon/MPD/issues/850 | |||
2020-09-16 | player/Thread: add another code comment explaining OnPlayerSync() | Max Kellermann | |
2020-09-16 | player/Thread: update function name in comment | Max Kellermann | |
2020-09-16 | LogBackend: change the initial log_threshold to DEFAULT | Max Kellermann | |
The log levels have always been very confusing (and badly named), but this was most confusing: if there's a log level called "default", why is it not the default? Closes https://github.com/MusicPlayerDaemon/MPD/issues/926 | |||
2020-09-16 | decoder/ffmpeg: add "hls+http://" to the list of supported protocols | Max Kellermann | |
2020-09-16 | decoder/ffmpeg: remove "rtsp://" from the list of supported protocols | Max Kellermann | |
FFmpeg implements RTSP as a demuxer, not as a protocol handler. Thus, avio_open() cannot be used, and our input plugin cannot handle RTSP. Closes https://github.com/MusicPlayerDaemon/MPD/issues/930 | |||
2020-09-07 | archive/iso9660: implement seeking | Max Kellermann | |
2020-09-07 | archive/iso9660: fix unaligned reads | Max Kellermann | |
Oh the horror! This plugin cannot possibly ever have worked. It was broken from the start, when it was added in commit 37796699cf7 nearly twelve (!) years ago. The plugin would always read at sector boundaries, so it could only ever work at multiples of 2 kB. | |||
2020-09-07 | test/test_archive_iso9660.sh: use an odd chunk size to trigger bug | Max Kellermann | |
This makes the unit test fail. D'oh! | |||
2020-09-07 | test/run_input: add option --chunk-size | Max Kellermann | |
2020-09-07 | test/run_input: pass FileDescriptor to dump_input_stream() | Max Kellermann | |
2020-09-07 | system/FileDescriptor: add method FullWrite() | Max Kellermann | |
2020-09-07 | *: use nullptr instead of NULL | Max Kellermann | |
2020-09-07 | io/FileDescriptor: add method FullRead() | Max Kellermann | |
2020-09-07 | test/run_filter: use Filter::Flush() | Max Kellermann | |
2020-09-07 | test/run_filter: pass ConstBuffer<void> to FullWrite() | Max Kellermann | |
2020-09-07 | test/run_filter: fix error message | Max Kellermann | |
2020-09-07 | test/run_filter: check for partial writes | Max Kellermann | |
2020-09-07 | test/run_filter: move code to WriteOrThrow() | Max Kellermann | |
2020-09-07 | test/run_filter: use class FileDescriptor | Max Kellermann | |
2020-09-07 | test/run_filter: ensure that partial frames will not get passed to the filter | Max Kellermann | |
2020-09-07 | test/run_filter: move the buffer into the loop | Max Kellermann | |
2020-09-07 | test/run_input: use WithBufferedOutputStream() | Max Kellermann | |
2020-09-07 | test/run_input: convert pointer to reference | Max Kellermann | |
2020-09-04 | archive/iso9660: free iso9660_stat_t as early as possible | Max Kellermann | |
2020-09-04 | archive/bzip2: make variables more local | Max Kellermann | |
2020-09-04 | archive/bzip2: move the eof check out of the ScopeUnlock | Max Kellermann | |
2020-09-04 | archive/bzip2: throw on unexpected input EOF | Max Kellermann | |
Don't silently return 0 when there is no more data, because this may crash the caller. And flush output even if input EOF has been reached. | |||
2020-09-04 | archive/bzip2: simplify bz_stream initializer | Max Kellermann | |
2020-09-04 | archive/bzip2: fold Open() into constructor | Max Kellermann | |
2020-09-04 | archive/bzip2: reorder fields to improve packing | Max Kellermann | |
2020-09-04 | archive/bzip2: add `override` | Max Kellermann | |
2020-09-04 | python/build/libs.py: update Boost to 1.74.0 | Max Kellermann | |