fix(multimodal): harden playback and client lifecycle handling

- retry the server connection prompt after transient playback failures
- serialize multimodal client and session start-stop operations
- tag downstream responses to ignore stale packets and playback events
- complete bounded teardown and clean callbacks after partial startup
This commit is contained in:
chenjintao
2026-08-14 15:24:29 +08:00
parent c56c65462e
commit 0cfb10252c
12 changed files with 436 additions and 188 deletions
@@ -1777,7 +1777,7 @@ static void control_plane_wifi_state_task(void *arg)
if (!disconnected_expression_active) {
ESP_LOGI(TAG, "Wi-Fi STA disconnect persisted; stopping multimodal client");
control_plane_stop_multimodal_client();
(void)control_plane_stop_multimodal_client();
control_plane_stop_user_config_server();
}
@@ -2455,7 +2455,7 @@ void control_plane_stop_runtime_workers(void)
portEXIT_CRITICAL(&s_runtime_lock);
control_plane_delete_model_cmd_queue(queue, queue_with_caps);
control_plane_stop_multimodal_client();
(void)control_plane_stop_multimodal_client();
control_plane_set_runtime_stop_requested(false);
}