diff --git a/src/decoder/DecoderControl.cxx b/src/decoder/DecoderControl.cxx index cc48ff951..7d5d6e6cc 100644 --- a/src/decoder/DecoderControl.cxx +++ b/src/decoder/DecoderControl.cxx @@ -28,12 +28,7 @@ #include DecoderControl::DecoderControl(Mutex &_mutex, Cond &_client_cond) - :mutex(_mutex), client_cond(_client_cond), - state(DecoderState::STOP), - command(DecoderCommand::NONE), - client_is_waiting(false), - song(nullptr), - replay_gain_db(0), replay_gain_prev_db(0) {} + :mutex(_mutex), client_cond(_client_cond) {} DecoderControl::~DecoderControl() { diff --git a/src/decoder/DecoderControl.hxx b/src/decoder/DecoderControl.hxx index 5a30e822b..79bd119a7 100644 --- a/src/decoder/DecoderControl.hxx +++ b/src/decoder/DecoderControl.hxx @@ -89,8 +89,8 @@ struct DecoderControl { */ Cond &client_cond; - DecoderState state; - DecoderCommand command; + DecoderState state = DecoderState::STOP; + DecoderCommand command = DecoderCommand::NONE; /** * The error that occurred in the decoder thread. This @@ -107,7 +107,7 @@ struct DecoderControl { * false, the DecoderThread may omit invoking Cond::signal(), * reducing the number of system calls. */ - bool client_is_waiting; + bool client_is_waiting = false; bool seek_error; bool seekable; @@ -127,7 +127,7 @@ struct DecoderControl { * This is a duplicate, and must be freed when this attribute * is cleared. */ - DetachedSong *song; + DetachedSong *song = nullptr; /** * The initial seek position, e.g. to the start of a sub-track @@ -156,8 +156,8 @@ struct DecoderControl { */ MusicPipe *pipe; - float replay_gain_db; - float replay_gain_prev_db; + float replay_gain_db = 0; + float replay_gain_prev_db = 0; MixRampInfo mix_ramp, previous_mix_ramp;