// Copyright (2025) Beijing Volcano Engine Technology Ltd. // SPDX-License-Identifier: Apache-2.0 #ifndef __CONV_AI_BASE_VOLC_DEVICE_MANAGER_H__ #define __CONV_AI_BASE_VOLC_DEVICE_MANAGER_H__ #ifdef __cplusplus extern "C" { #endif #include // 硬件ID宏定义 #define HARDWARE_ID "a2:c8:2c:89:6e:46" // 错误码宏定义 #define ERROR_LICENSE_EXHAUSTED 12000130 #define ERROR_LICENSE_EXPIRED 12000140 // IoT设备信息结构体 typedef struct { char* instance_id; // 实例ID char* product_key; // 产品密钥 char* product_secret; // 产品密钥 char* device_name; // 设备名称 char* device_secret; // 设备密钥 char* rtc_app_id; // RTC应用ID char* bot_id; // Bot ID } volc_iot_info_t; // RTC配置结构体 typedef struct { char* p_channel_name; // 频道名称 char* p_uid; // 用户ID char* p_token; // 令牌 int audio_codec; // 音频编解码器 int video_codec; // 视频编解码器 uint32_t audio_bitrate; // 音频比特率 uint32_t video_bitrate; // 视频比特率 uint32_t sample_rate; // 采样率 uint32_t channels; // 声道数 uint32_t bits_per_sample;// 采样位数 } volc_rtc_config_t; // 房间信息结构体 typedef struct { volc_rtc_config_t rtc_opt; // RTC配置选项 char* task_id; // 任务ID } volc_room_info_t; // 为了向后兼容,添加volc_rtc_option_t作为volc_rtc_config_t的别名 typedef volc_rtc_config_t volc_rtc_option_t; // 函数声明 int volc_device_register(volc_iot_info_t* info, char** output); // 新增:extra_params 用于传递额外的AgentConfig配置参数 int volc_get_rtc_config(volc_iot_info_t* info, int audio_codec, const char* bot_id, const char* task_id, const char* extra_params, volc_room_info_t* room_info); char* volc_generate_signature(const char* secret_key, const char* product_key, const char* device_name, int rnd, uint64_t timestamp, int auth_type); char* volc_generate_signature_ws(const char* secret_key, const char* product_key, const char* device_name, const char* instance_id, int rnd, uint64_t timestamp, int auth_type); #ifdef __cplusplus } #endif #endif /* __CONV_AI_BASE_VOLC_DEVICE_MANAGER_H__ */