diff --git a/main/audio/codecs/es8311_audio_codec.cc b/main/audio/codecs/es8311_audio_codec.cc index 708b7da..12ecd62 100644 --- a/main/audio/codecs/es8311_audio_codec.cc +++ b/main/audio/codecs/es8311_audio_codec.cc @@ -156,7 +156,10 @@ void Es8311AudioCodec::CreateDuplexChannels(gpio_num_t mclk, gpio_num_t bclk, gp } void Es8311AudioCodec::SetOutputVolume(int volume) { - ESP_ERROR_CHECK(esp_codec_dev_set_out_vol(dev_, volume)); + std::lock_guard lock(data_if_mutex_); + if (dev_ != nullptr) { + ESP_ERROR_CHECK(esp_codec_dev_set_out_vol(dev_, volume)); + } AudioCodec::SetOutputVolume(volume); }