55extern "C" {
66#endif
77
8+ #include <stdbool.h>
89#include <stddef.h>
910#include <stdint.h>
10- #include <stdbool.h>
1111
1212#define MAX_SIZE_OF_PARAMS 3000
1313
14- static const char * VIDEOSDKVERSION = "2.0.x+git.8b1ae85d" ;
15-
16- typedef enum {
17- XP2PTypeClose = 1000 , //数据传输完成
18- XP2PTypeLog = 1001 , //日志输出
19- XP2PTypeCmd = 1002 , //command json
20- XP2PTypeDisconnect = 1003 , //p2p链路断开
21- XP2PTypeDetectReady = 1004 , //p2p链路初始化成功
22- XP2PTypeDetectError = 1005 , //p2p链路初始化失败
23- XP2PTypeSaveFileOn = 8000 , //获取保存音视频流开关状态
24- XP2PTypeSaveFileUrl = 8001 //获取音视频流保存路径
14+ static const char * VIDEOSDKVERSION = "2.0.x+git.649160b4" ;
15+
16+ typedef enum
17+ {
18+ XP2PTypeClose = 1000 , //数据传输完成
19+ XP2PTypeLog = 1001 , //日志输出
20+ XP2PTypeCmd = 1002 , // command json
21+ XP2PTypeDisconnect = 1003 , // p2p链路断开
22+ XP2PTypeDetectReady = 1004 , // p2p链路初始化成功
23+ XP2PTypeDetectError = 1005 , // p2p链路初始化失败
24+ XP2PTypeSaveFileOn = 8000 , //获取保存音视频流开关状态
25+ XP2PTypeSaveFileUrl = 8001 //获取音视频流保存路径
2526} XP2PType ;
2627
27- typedef enum {
28- XP2PVoiceServiceClose = 2000 , //语音对讲服务关闭
29- XP2PStreamServiceClose = 2001 //音视频流接收服务关闭
28+ typedef enum
29+ {
30+ XP2PVoiceServiceClose = 2000 , //语音对讲服务关闭
31+ XP2PStreamServiceClose = 2001 //音视频流接收服务关闭
3032} XP2PCloseSubType ;
3133
32- typedef enum {
33- XP2PERRNONE = 0 , //成功
34- XP2PERRINITPRM = -1000 , //入参为空
35- XP2PERRGETXP2PINFO = -1001 , //SDK内部请求xp2p info失败
36- XP2PERRPROXYINIT = -1002 , //本地p2p代理初始化失败
37- XP2PERRUNINIT = -1003 , //数据接收/发送服务未初始化
38- XP2PERRENCRYPT = -1004 , //数据加密失败
39- XP2PERRTIMEOUT = -1005 , //请求超时
40- XP2PERRERROR = -1006 , //请求错误
41- XP2PERRVERSION = -1007 , //设备版本过低,请升级设备固件
42- XP2PERRAPPLICATION = -1008 , //application初始化失败
43- XP2PERRREQUEST = -1009 , //request初始化失败
44- XP2PERRDETECTNOREADY = -1010 //p2p探测未完成
34+ typedef enum
35+ {
36+ XP2P_ERR_NONE = 0 , //成功
37+ XP2P_ERR_INIT_PRM = -1000 , //入参为空
38+ XP2P_ERR_GET_XP2PINFO = -1001 , // SDK内部请求xp2p info失败
39+ XP2P_ERR_PROXY_INIT = -1002 , //本地p2p代理初始化失败
40+ XP2P_ERR_UNINIT = -1003 , //数据接收/发送服务未初始化
41+ XP2P_ERR_ENCRYPT = -1004 , //数据加密失败
42+ XP2P_ERR_TIMEOUT = -1005 , //请求超时
43+ XP2P_ERR_REQUEST_FAIL = -1006 , //请求错误
44+ XP2P_ERR_VERSION = -1007 , //设备版本过低,请升级设备固件
45+ XP2P_ERR_APPLICATION = -1008 , // application初始化失败
46+ XP2P_ERR_REQUEST = -1009 , // request初始化失败
47+ XP2P_ERR_DETECT_NOTREADY = -1010 , // p2p探测未完成
48+ XP2P_ERR_P2P_ININED = -1011 , //当前id对应的p2p已完成初始化
49+ XP2P_ERR_P2P_UNININ = -1012 , //当前id对应的p2p未初始化
50+ XP2P_ERR_NEW_MEMERY = -1013 , //内存申请失败
51+ XP2P_ERR_XP2PINFO_RULE = -1014 , //获取到的xp2p info格式错误
52+ XP2P_ERR_XP2PINFO_DECRYPT = -1015 , //获取到的xp2p info解码失败
53+ XP2P_ERR_PROXY_LISTEN = -1016 , //本地代理监听端口失败
54+ XP2P_ERR_CLOUD_EMPTY = -1017 , //云端返回空数据
55+ XP2P_ERR_JSON_PARSE = -1018 , // json解析失败
56+ XP2P_ERR_SERVICE_NOTRUN = -1019 , //当前id对应的服务(语音、直播等服务)没有在运行
57+ XP2P_ERR_CLIENT_NULL = -1020 //从map中取出的client为空
4558} XP2PErrCode ;
4659
47- typedef const char * (* msg_handle_t )(const char * id , XP2PType type , const char * msg );
48- typedef void (* av_recv_handle_t )(const char * id , uint8_t * recv_buf , size_t recv_len );
60+ typedef const char * (* msg_handle_t )(const char * id , XP2PType type , const char * msg );
61+ typedef void (* av_recv_handle_t )(const char * id , uint8_t * recv_buf , size_t recv_len );
4962
5063/**
5164 * @brief 设置回调函数
@@ -60,21 +73,24 @@ void setUserCallbackToXp2p(av_recv_handle_t recv_handle, msg_handle_t msg_handle
6073 * @brief 发送信令消息给camera设备并等待回复,同步阻塞方式
6174 *
6275 * @param id: 目标camera在app端的唯一标识符
63- * @param command: 可以为任意格式字符或二进制数据,长度由cmd_len提供,建议在16KB以内,否则会影响实时性
76+ * @param command:
77+ * 可以为任意格式字符或二进制数据,长度由cmd_len提供,建议在16KB以内,否则会影响实时性
6478 * @param cmd_len: command长度
65- * @param recv_buf: 用于存放camera回复的数据,内存由接口内部申请外部释放,实际数据长度根据recv_len获取
79+ * @param recv_buf:
80+ * 用于存放camera回复的数据,内存由接口内部申请外部释放,实际数据长度根据recv_len获取
6681 * @param recv_len: camera回复的数据长度
6782 * @param timeout_us: 命令超时时间,单位为微秒,值为0时采用默认超时(7500ms左右)
6883 * @return 0 为成功
6984 */
7085int postCommandRequestSync (const char * id , const unsigned char * command , size_t cmd_len ,
71- unsigned char * * recv_buf , size_t * recv_len , uint64_t timeout_us );
86+ unsigned char * * recv_buf , size_t * recv_len , uint64_t timeout_us );
7287
7388/**
7489 * @brief 发送信令消息给camera设备,camera回复的数据由注册的回调函数返回,异步非阻塞方式
7590 *
7691 * @param id: 目标camera在app端的唯一标识符
77- * @param command: 可以为任意格式字符或二进制数据,长度由cmd_len提供,建议在16KB以内,否则会影响实时性
92+ * @param command:
93+ * 可以为任意格式字符或二进制数据,长度由cmd_len提供,建议在16KB以内,否则会影响实时性
7894 * @param cmd_len: command长度
7995 * @return 0 为成功
8096 */
@@ -108,7 +124,8 @@ int stopAvRecvService(const char *id, void *req);
108124 * @param xp2p_info: xp2p信息
109125 * @return 0 为成功
110126 */
111- int startServiceWithXp2pInfo (const char * id , const char * product_id , const char * device_name , const char * xp2p_info );
127+ int startServiceWithXp2pInfo (const char * id , const char * product_id , const char * device_name ,
128+ const char * xp2p_info );
112129
113130/**
114131 * @brief 获取本地代理url
@@ -122,7 +139,8 @@ const char *delegateHttpFlv(const char *id);
122139 * @brief 启动向camera设备发送语音或自定义数据服务,异步非阻塞方式
123140 *
124141 * @param id: 目标camera在app端的唯一标识符
125- * @param params: 请求参数采用 key1=value&key2=value2 格式,key不允许以下划线_开头,且key和value中间不能包含&/+=特殊字符
142+ * @param params: 请求参数采用 key1=value&key2=value2
143+ * 格式,key不允许以下划线_开头,且key和value中间不能包含&/+=特殊字符
126144 * @param crypto: 是否开启传输层加密,如果关闭(crypto=false),则建议用户在应用层加密,否则有安全风险
127145 * @return 请求句柄
128146 */
@@ -175,7 +193,8 @@ void stopService(const char *id);
175193 * @param timeout_us: 命令超时时间,单位为微秒,值为0时采用默认超时(7500ms左右)
176194 * @return 0 为成功
177195 */
178- int getCommandRequestWithSync (const char * id , const char * command , char * * buf , size_t * len , uint64_t timeout_us );
196+ int getCommandRequestWithSync (const char * id , const char * command , char * * buf , size_t * len ,
197+ uint64_t timeout_us );
179198
180199/**
181200 * @brief 发送信令消息给camera设备,camera回复的数据由注册的回调函数返回,异步非阻塞方式
0 commit comments