Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-01-01 | copyright year 2021 | Max Kellermann | |
2020-06-10 | Merge tag 'v0.21.24' | Max Kellermann | |
release v0.21.24 | |||
2020-06-10 | decoder/Bridge: add flag to make initial seek errors fatal | Max Kellermann | |
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 | |||
2020-01-18 | copyright year 2020 | Max Kellermann | |
2019-07-05 | decoder/Bridge: add `noexcept` | Max Kellermann | |
2019-05-31 | input/cache: first draft of the file cache | Max Kellermann | |
2019-05-30 | decoder/Bridge: add method OpenLocal() | Max Kellermann | |
2019-04-05 | decoder/Bridge: make many attributes private | Max Kellermann | |
2019-04-05 | decoder/Bridge: add `noexcept` | Max Kellermann | |
2019-04-05 | decoder/Client: add `noexcept` | Max Kellermann | |
2019-04-05 | input/InputStream: add `noexcept` to ReadTag() | Max Kellermann | |
2019-04-04 | pcm/PcmConvert: eliminate Open() and Close() | Max Kellermann | |
Let the constructor and destructor do this. This means that all users have to be converted to allocate PcmConvert dynamically. | |||
2018-10-31 | *: copyright year 2018 | Max Kellermann | |
2018-10-24 | decoder/Control: convert to class, make various attributes private | Max Kellermann | |
2018-09-21 | decoder/Client: use std::chrono::duration<double> instead of raw `double` | Max Kellermann | |
2018-06-22 | MusicChunkPtr: managed MusicChunk pointer | Max Kellermann | |
Make all uses of MusicChunk safe. | |||
2018-02-17 | Merge branch 'v0.20.x' | Max Kellermann | |
2018-02-17 | decoder/Bridge: truncate last chunk at the exact end_time | Max Kellermann | |
Instead of passing whole chunks to the MusicPipe and checking the end_time after each chunk, truncate the last chunk if it would exceed the end_time. This requires keeping track of the absolute PCM frame number. This fixes a problem with gapless CUE song transitions: a small part of the following song was always played twice. Closes #113 | |||
2017-12-20 | decoder/Bridge: use std::unique_ptr<Tag> | Max Kellermann | |
2017-06-04 | *: add lost of "noexcept" specifications | Max Kellermann | |
2017-05-08 | *: add "noexcept" to many, many function prototypes | Max Kellermann | |
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing. | |||
2017-01-03 | update copyright year | Max Kellermann | |
2016-11-21 | decoder/Client: add virtual method Read() | Max Kellermann | |
2016-11-21 | decoder/API: move part of decoder_check_cancel_read() into class DecoderBridge | Max Kellermann | |
2016-11-21 | decoder/API: move functions into class DecoderBridge | Max Kellermann | |
2016-11-21 | decoder/Internal: rename struct Decoder to class DecoderBridge | Max Kellermann | |