chore: initial commit
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "esp_err.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef esp_err_t (*multimodal_audio_uplink_cb_t)(const uint8_t *data, size_t len, void *ctx);
|
||||
|
||||
typedef enum {
|
||||
MULTIMODAL_AUDIO_DOWNSTREAM_PLAYBACK_STARTED = 0,
|
||||
MULTIMODAL_AUDIO_DOWNSTREAM_PLAYBACK_COMPLETED,
|
||||
MULTIMODAL_AUDIO_DOWNSTREAM_PLAYBACK_STOPPED,
|
||||
} multimodal_audio_downstream_playback_event_type_t;
|
||||
|
||||
typedef struct {
|
||||
multimodal_audio_downstream_playback_event_type_t type;
|
||||
} multimodal_audio_downstream_playback_event_t;
|
||||
|
||||
typedef void (*multimodal_audio_downstream_playback_callback_t)(
|
||||
const multimodal_audio_downstream_playback_event_t *event,
|
||||
void *ctx);
|
||||
|
||||
esp_err_t multimodal_audio_init(void);
|
||||
void multimodal_audio_deinit(void);
|
||||
|
||||
esp_err_t multimodal_audio_start_uplink(multimodal_audio_uplink_cb_t cb, void *cb_ctx);
|
||||
esp_err_t multimodal_audio_stop_uplink(int timeout_ms);
|
||||
bool multimodal_audio_is_uplink_running(void);
|
||||
bool multimodal_audio_is_initialized(void);
|
||||
|
||||
esp_err_t multimodal_audio_handle_downstream_opus(const uint8_t *data, size_t len);
|
||||
esp_err_t multimodal_audio_begin_downstream_response(void);
|
||||
esp_err_t multimodal_audio_finish_downstream_response(void);
|
||||
esp_err_t multimodal_audio_stop_downstream_playback(void);
|
||||
esp_err_t multimodal_audio_register_downstream_playback_callback(
|
||||
multimodal_audio_downstream_playback_callback_t cb,
|
||||
void *cb_ctx);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
@@ -0,0 +1,42 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include "esp_err.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
MULTIMODAL_WS_EVENT_CONNECTED = 0,
|
||||
MULTIMODAL_WS_EVENT_DISCONNECTED,
|
||||
MULTIMODAL_WS_EVENT_ERROR,
|
||||
MULTIMODAL_WS_EVENT_TEXT_MESSAGE,
|
||||
MULTIMODAL_WS_EVENT_BINARY_MESSAGE,
|
||||
} multimodal_ws_event_type_t;
|
||||
|
||||
typedef struct {
|
||||
multimodal_ws_event_type_t type;
|
||||
const uint8_t *data;
|
||||
size_t data_len;
|
||||
} multimodal_ws_event_t;
|
||||
|
||||
typedef void (*multimodal_ws_event_callback_t)(const multimodal_ws_event_t *event,
|
||||
void *user_data);
|
||||
|
||||
esp_err_t multimodal_ws_start(const char *bearer_token,
|
||||
const char *workspace_id,
|
||||
multimodal_ws_event_callback_t cb,
|
||||
void *user_data);
|
||||
esp_err_t multimodal_ws_stop(int timeout_ms);
|
||||
bool multimodal_ws_is_connected(void);
|
||||
|
||||
esp_err_t multimodal_ws_send_text(const char *label, const char *text);
|
||||
esp_err_t multimodal_ws_send_text_realtime(const char *label, const char *text);
|
||||
esp_err_t multimodal_ws_send_binary_realtime(const uint8_t *data, size_t len);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user