input/cache: first draft of the file cache

This commit is contained in:
Max Kellermann
2019-05-08 18:39:00 +02:00
parent e8a0ce643a
commit 5d74b5cee1
27 changed files with 880 additions and 6 deletions

View File

@@ -28,10 +28,12 @@
PlayerControl::PlayerControl(PlayerListener &_listener,
PlayerOutputs &_outputs,
InputCacheManager *_input_cache,
unsigned _buffer_chunks,
AudioFormat _configured_audio_format,
const ReplayGainConfig &_replay_gain_config) noexcept
:listener(_listener), outputs(_outputs),
input_cache(_input_cache),
buffer_chunks(_buffer_chunks),
configured_audio_format(_configured_audio_format),
thread(BIND_THIS_METHOD(RunThread)),

View File

@@ -39,6 +39,7 @@
struct Tag;
class PlayerListener;
class PlayerOutputs;
class InputCacheManager;
class DetachedSong;
enum class PlayerState : uint8_t {
@@ -116,6 +117,8 @@ class PlayerControl final : public AudioOutputClient {
PlayerOutputs &outputs;
InputCacheManager *const input_cache;
const unsigned buffer_chunks;
/**
@@ -234,6 +237,7 @@ class PlayerControl final : public AudioOutputClient {
public:
PlayerControl(PlayerListener &_listener,
PlayerOutputs &_outputs,
InputCacheManager *_input_cache,
unsigned buffer_chunks,
AudioFormat _configured_audio_format,
const ReplayGainConfig &_replay_gain_config) noexcept;

View File

@@ -1132,6 +1132,7 @@ try {
SetThreadName("player");
DecoderControl dc(mutex, cond,
input_cache,
configured_audio_format,
replay_gain_config);
dc.StartThread();