summaryrefslogtreecommitdiff
path: root/src/player
AgeCommit message (Expand)Author
2019-05-31Revert "player/Thread: remove unnecessary "pipe" check"Max Kellermann
2019-05-20player/Thread: fix "single" mode race conditionMax Kellermann
2019-05-20player/Thread: remove unnecessary "pipe" checkMax Kellermann
2018-11-19check.h: remove obsolete headerMax Kellermann
2018-11-12output/Thread: update commentMax Kellermann
2018-11-06player/Thread: finish decoder startup before checking the bufferMax Kellermann
2018-10-31*: copyright year 2018Max Kellermann
2018-10-29Merge branch 'v0.20.x'Max Kellermann
2018-10-29player/Control: move IDLE_PLAYER to Player::SeekDecoder()Max Kellermann
2018-09-23player/Control: start thread on demandMax Kellermann
2018-09-23player/Control: move public methods upMax Kellermann
2018-09-23player/Control: make several methods `private`Max Kellermann
2018-09-23player/Control: remove Lock(), Unlock()Max Kellermann
2018-09-23player/Control: add LockGetSyncInfo()Max Kellermann
2018-09-23player/Thread: remove obsolete `buffered_before_play` attributeMax Kellermann
2018-09-23player/Thread: calculate `buffered_before_play` based on a fixed durationMax Kellermann
2018-09-23player/Thread: copy `buffered_before_play`Max Kellermann
2018-09-23player/Thread: remove `buffered_before_play` from `decoder_wakeup_threshold` ...Max Kellermann
2018-09-22player/Thread: add attribute `decoder_wakeup_threshold`Max Kellermann
2018-09-22player/CrossFade: use AudioFormat::SizeToTime() instead of GetTimeToSize()Max Kellermann
2018-09-22player/CrossFade: use std::chrono::durationMax Kellermann
2018-09-22player/CrossFade, ...: use lround()Max Kellermann
2018-09-21AudioFormat: add TimeToSize(), SizeToTime()Max Kellermann
2018-09-21player/Control: convert `total_play_time` to `FloatDuration`Max Kellermann
2018-09-21player/Thread: stop buffering if buffer is fullMax Kellermann
2018-09-21player/Thread: simplify loop conditionMax Kellermann
2018-09-21player/Control: convert to classMax Kellermann
2018-09-21player/Thread: move functions into PlayerControlMax Kellermann
2018-09-21player/Thread: catch and log initialization errorsMax Kellermann
2018-09-21player/Control: apply CamelCase to struct player_statusMax Kellermann
2018-09-21player/Thread: move StartPlayerThread() into PlayerControlMax Kellermann
2018-09-21decoder/{Thread,Control,...}: rename source files, drop prefixMax Kellermann
2018-09-21decoder/Thread: move decoder_thread_start() into DecoderControlMax Kellermann
2018-08-20Compiler.h: move to util/Max Kellermann
2018-08-02DetachedSong, db/LightSong, SongFilter: move to src/song/Max Kellermann
2018-06-23player, decoder, output: wrap MusicPipe in std::shared_ptr/std::unique_ptrMax Kellermann
2018-06-23player/Thread: eliminate ClearAndReplacePipe()Max Kellermann
2018-06-23MusicPipe: eliminate the unused MusicBuffer referenceMax Kellermann
2018-06-22MusicChunkPtr: managed MusicChunk pointerMax Kellermann
2018-06-22MusicPipe: automatically clear in destructorMax Kellermann
2018-06-22MusicPipe: add MusicBuffer referenceMax Kellermann
2018-05-22Merge tag 'v0.20.20'Max Kellermann
2018-05-12player/Thread: pause all outputs in single modeMax Kellermann
2018-04-26Merge tag 'v0.20.19'Max Kellermann
2018-04-25player/Thread: never reuse decoder when switching radio streamsMax Kellermann
2018-02-25playlist/Queue: add one-shot to single modePatryk HachuĊ‚a
2018-02-03player/Thread: wake up the main thread after failed seekMax Kellermann
2018-01-24player/Thread: remove bogus "noexcept" from play_chunk()Max Kellermann
2018-01-12player/Thread: wake up the decoder when the pipe has run emptyMax Kellermann
2018-01-07thread/Thread: use BoundMethodMax Kellermann