components/common/ 是项目自己写的代码 (火山 RTC SDK 的 wrapper + HTTP 客户端 + JSON 工具 + 设备管理), 历史上被 .gitignore 的 components/ 规则误排除。共 15 个文件 2750 行项目代码长期未被 git 跟踪, 修改易丢失, 不利于多设备开发和回溯。 主要变动: 1. .gitignore - 改 components/ → /components/* (顶层 children 而非目录本身) - 加 !/components/common/ 例外, 让项目自己代码进入跟踪 - 加 esp-spot/**/components/ 显式 ignore 子项目里的 components/ 保持原行为 2. components/common/ 首次入 git (~2750 行) - inc/volc_rtc.h, src/volc_rtc.c — 火山 RTC SDK 的封装层 - inc/volc_http.h, src/volc_http.c — HTTP 客户端 - inc/util/volc_json.h, src/volc_json.c — JSON 工具 - inc/base/volc_device_manager.h, src/volc_device_manager.c — RTC 设备凭证管理 - inc/util/volc_log.h — 日志宏 - inc/util/volc_list.h — 链表工具 - inc/volc_conv_ai.h — 会话 AI 接口定义 - inc/volc_platform.h, src/volc_platform.c — 平台抽象 - inc/base/volc_base.h — 基础类型 未跟踪的兄弟目录 (保持 ignore): - components/78__esp-opus-encoder/ (IDF managed component) - components/volc_engine_rtc_lite/ (火山 RTC SDK 二进制库) - components/zlib/ (第三方库) 后续 fix(rtc) NULL guard 等 components/common/ 的改动将作为独立 commit。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
// Copyright (2025) Beijing Volcano Engine Technology Ltd.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
#ifndef __CONV_AI_BASE_VOLC_BASE_H__
|
|
#define __CONV_AI_BASE_VOLC_BASE_H__
|
|
|
|
#include <stdbool.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
|
|
#include "../util/volc_list.h"
|
|
#include "../volc_conv_ai.h"
|
|
|
|
// TODO: internal or external
|
|
typedef enum {
|
|
VOLC_MSG_CONNECTED = 0, // 成功连接
|
|
VOLC_MSG_DISCONNECTED, // 断开连接
|
|
VOLC_MSG_USER_JOINED, // 用户加入
|
|
VOLC_MSG_USER_OFFLINE, // 用户离开
|
|
VOLC_MSG_APP_ID_INVALID,
|
|
VOLC_MSG_TOKEN_INVALID,
|
|
VOLC_MSG_TOKEN_EXPIRED,
|
|
VOLC_MSG_LICENSE_EXPIRED,
|
|
VOLC_MSG_KEY_FRAME_REQ, // 关键帧请求
|
|
VOLC_MSG_TARGET_BITRATE_CHANGED, // 目标码率变化
|
|
VOLC_MSG_CONV_STATUS, // 会话状态
|
|
} volc_msg_e;
|
|
|
|
typedef struct {
|
|
volc_msg_e code;
|
|
union {
|
|
uint32_t target_bitrate;
|
|
uint32_t conv_status;
|
|
char* msg;
|
|
} data;
|
|
} volc_msg_t;
|
|
|
|
typedef void(*volc_msg_cb)(void* context, volc_msg_t *msg);
|
|
typedef void(*volc_data_cb)(void* context, const void* buffer, size_t len, volc_data_info_t *info);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* __CONV_AI_BASE_VOLC_BASE_H__ */ |