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:
@@ -43,10 +43,10 @@ typedef struct {
|
||||
} platform_multimodal_transport_callbacks_t;
|
||||
|
||||
typedef struct {
|
||||
void (*on_started)(void *user_data);
|
||||
void (*on_completed)(void *user_data);
|
||||
void (*on_stopped)(void *user_data);
|
||||
void (*on_stalled)(void *user_data);
|
||||
void (*on_started)(uint32_t playback_generation, void *user_data);
|
||||
void (*on_completed)(uint32_t playback_generation, void *user_data);
|
||||
void (*on_stopped)(uint32_t playback_generation, void *user_data);
|
||||
void (*on_stalled)(uint32_t playback_generation, void *user_data);
|
||||
void *user_data;
|
||||
} platform_multimodal_downstream_playback_callbacks_t;
|
||||
|
||||
@@ -399,7 +399,7 @@ esp_err_t platform_multimodal_audio_unregister_pcm_observer(
|
||||
void *user_data,
|
||||
int timeout_ms);
|
||||
esp_err_t platform_multimodal_audio_play_downstream_opus(const uint8_t *data, size_t len);
|
||||
esp_err_t platform_multimodal_audio_begin_downstream_response(void);
|
||||
esp_err_t platform_multimodal_audio_begin_downstream_response(uint32_t *out_playback_generation);
|
||||
esp_err_t platform_multimodal_audio_finish_downstream_response(void);
|
||||
esp_err_t platform_multimodal_audio_stop_downstream_playback(void);
|
||||
esp_err_t platform_multimodal_audio_register_downstream_playback_callbacks(
|
||||
|
||||
Reference in New Issue
Block a user