fix(multimodal): recover stalled downstream sessions

This commit is contained in:
chenjintao
2026-08-12 16:32:25 +08:00
parent 4e7fadde56
commit a94df9545d
9 changed files with 272 additions and 12 deletions
+1
View File
@@ -98,6 +98,7 @@ typedef enum {
DOMAIN_MULTIMODAL_DOWNSTREAM_PLAYBACK_STARTED = 0,
DOMAIN_MULTIMODAL_DOWNSTREAM_PLAYBACK_COMPLETED,
DOMAIN_MULTIMODAL_DOWNSTREAM_PLAYBACK_STOPPED,
DOMAIN_MULTIMODAL_DOWNSTREAM_PLAYBACK_STALLED,
} domain_multimodal_downstream_playback_event_type_t;
typedef struct {
@@ -452,6 +452,12 @@ static void domain_downstream_playback_stopped_adapter(void *user_data)
domain_downstream_playback_dispatch(DOMAIN_MULTIMODAL_DOWNSTREAM_PLAYBACK_STOPPED);
}
static void domain_downstream_playback_stalled_adapter(void *user_data)
{
(void)user_data;
domain_downstream_playback_dispatch(DOMAIN_MULTIMODAL_DOWNSTREAM_PLAYBACK_STALLED);
}
static void domain_wifi_set_keep_awake_adapter(bool keep_awake, void *user_data)
{
(void)user_data;
@@ -688,6 +694,7 @@ esp_err_t domain_runtime_multimodal_audio_register_downstream_playback_callback(
.on_started = domain_downstream_playback_started_adapter,
.on_completed = domain_downstream_playback_completed_adapter,
.on_stopped = domain_downstream_playback_stopped_adapter,
.on_stalled = domain_downstream_playback_stalled_adapter,
.user_data = NULL,
};