Age | Commit message (Expand) | Author |
2018-11-19 | check.h: remove obsolete header | Max Kellermann |
2018-11-12 | output/Thread: update comment | Max Kellermann |
2018-11-06 | player/Thread: finish decoder startup before checking the buffer | Max Kellermann |
2018-10-31 | *: copyright year 2018 | Max Kellermann |
2018-10-29 | Merge branch 'v0.20.x' | Max Kellermann |
2018-10-29 | player/Control: move IDLE_PLAYER to Player::SeekDecoder() | Max Kellermann |
2018-09-23 | player/Control: start thread on demand | Max Kellermann |
2018-09-23 | player/Control: move public methods up | Max Kellermann |
2018-09-23 | player/Control: make several methods `private` | Max Kellermann |
2018-09-23 | player/Control: remove Lock(), Unlock() | Max Kellermann |
2018-09-23 | player/Control: add LockGetSyncInfo() | Max Kellermann |
2018-09-23 | player/Thread: remove obsolete `buffered_before_play` attribute | Max Kellermann |
2018-09-23 | player/Thread: calculate `buffered_before_play` based on a fixed duration | Max Kellermann |
2018-09-23 | player/Thread: copy `buffered_before_play` | Max Kellermann |
2018-09-23 | player/Thread: remove `buffered_before_play` from `decoder_wakeup_threshold` ... | Max Kellermann |
2018-09-22 | player/Thread: add attribute `decoder_wakeup_threshold` | Max Kellermann |
2018-09-22 | player/CrossFade: use AudioFormat::SizeToTime() instead of GetTimeToSize() | Max Kellermann |
2018-09-22 | player/CrossFade: use std::chrono::duration | Max Kellermann |
2018-09-22 | player/CrossFade, ...: use lround() | Max Kellermann |
2018-09-21 | AudioFormat: add TimeToSize(), SizeToTime() | Max Kellermann |
2018-09-21 | player/Control: convert `total_play_time` to `FloatDuration` | Max Kellermann |
2018-09-21 | player/Thread: stop buffering if buffer is full | Max Kellermann |
2018-09-21 | player/Thread: simplify loop condition | Max Kellermann |
2018-09-21 | player/Control: convert to class | Max Kellermann |
2018-09-21 | player/Thread: move functions into PlayerControl | Max Kellermann |
2018-09-21 | player/Thread: catch and log initialization errors | Max Kellermann |
2018-09-21 | player/Control: apply CamelCase to struct player_status | Max Kellermann |
2018-09-21 | player/Thread: move StartPlayerThread() into PlayerControl | Max Kellermann |
2018-09-21 | decoder/{Thread,Control,...}: rename source files, drop prefix | Max Kellermann |
2018-09-21 | decoder/Thread: move decoder_thread_start() into DecoderControl | Max Kellermann |
2018-08-20 | Compiler.h: move to util/ | Max Kellermann |
2018-08-02 | DetachedSong, db/LightSong, SongFilter: move to src/song/ | Max Kellermann |
2018-06-23 | player, decoder, output: wrap MusicPipe in std::shared_ptr/std::unique_ptr | Max Kellermann |
2018-06-23 | player/Thread: eliminate ClearAndReplacePipe() | Max Kellermann |
2018-06-23 | MusicPipe: eliminate the unused MusicBuffer reference | Max Kellermann |
2018-06-22 | MusicChunkPtr: managed MusicChunk pointer | Max Kellermann |
2018-06-22 | MusicPipe: automatically clear in destructor | Max Kellermann |
2018-06-22 | MusicPipe: add MusicBuffer reference | Max Kellermann |
2018-05-22 | Merge tag 'v0.20.20' | Max Kellermann |
2018-05-12 | player/Thread: pause all outputs in single mode | Max Kellermann |
2018-04-26 | Merge tag 'v0.20.19' | Max Kellermann |
2018-04-25 | player/Thread: never reuse decoder when switching radio streams | Max Kellermann |
2018-02-25 | playlist/Queue: add one-shot to single mode | Patryk HachuĊa |
2018-02-03 | player/Thread: wake up the main thread after failed seek | Max Kellermann |
2018-01-24 | player/Thread: remove bogus "noexcept" from play_chunk() | Max Kellermann |
2018-01-12 | player/Thread: wake up the decoder when the pipe has run empty | Max Kellermann |
2018-01-07 | thread/Thread: use BoundMethod | Max Kellermann |
2018-01-03 | player/Thread: don't send silence if decoder is slow | Max Kellermann |
2018-01-03 | player/Thread: remove unnecessary "continue" keywords | Max Kellermann |
2018-01-03 | player/Thread: hold mutex while calling SongBorder() | Max Kellermann |