[i2s_audio] Bugfix: Adjust I2S speaker setup priority (#7759)

This commit is contained in:
Kevin Ahrendt 2024-11-13 12:39:02 -05:00 committed by Jesse Hills
parent 44545a18a0
commit a0159a2746
No known key found for this signature in database
GPG key ID: BEAAE804EFD8E83A
2 changed files with 2 additions and 11 deletions

View file

@ -99,14 +99,6 @@ void I2SAudioSpeaker::setup() {
this->mark_failed();
return;
}
this->i2s_event_queue_ = xQueueCreate(I2S_EVENT_QUEUE_COUNT, sizeof(i2s_event_t));
if (this->i2s_event_queue_ == nullptr) {
ESP_LOGE(TAG, "Failed to create I2S event queue");
this->mark_failed();
return;
}
}
void I2SAudioSpeaker::loop() {
@ -339,7 +331,7 @@ void I2SAudioSpeaker::speaker_task(void *params) {
}
void I2SAudioSpeaker::start() {
if (this->is_failed() || this->status_has_error())
if (!this->is_ready() || this->is_failed() || this->status_has_error())
return;
if ((this->state_ == speaker::STATE_STARTING) || (this->state_ == speaker::STATE_RUNNING))
return;
@ -519,7 +511,6 @@ void I2SAudioSpeaker::delete_task_(size_t buffer_size) {
}
xEventGroupSetBits(this->event_group_, SpeakerEventGroupBits::STATE_STOPPED);
xQueueReset(this->i2s_event_queue_);
this->task_created_ = false;
vTaskDelete(nullptr);

View file

@ -23,7 +23,7 @@ namespace i2s_audio {
class I2SAudioSpeaker : public I2SAudioOut, public speaker::Speaker, public Component {
public:
float get_setup_priority() const override { return esphome::setup_priority::LATE; }
float get_setup_priority() const override { return esphome::setup_priority::PROCESSOR; }
void setup() override;
void loop() override;