Iot SDK 4.0.0
载入中...
搜索中...
未找到
jrtc0.h
浏览该文件的文档.
1#ifndef __JRTC_0_H__
2#define __JRTC_0_H__
3#include "jrtc.h"
4#ifdef __cplusplus
5extern "C" {
6#endif
15void jrtc_config_server (const char srvURL[128]);
16
20struct jrtc_t* jrtc_alloc (const char channelId[64], const char uid[64],
21 struct jrtc_image_t* video, struct jrtc_image_t* camera, struct jrtc_options_t* options);
22
31enum jrtc_state jrtc_schedule (struct jrtc_t* jc);
32
33
34
36{
37 JRTC_NET_NORMAL = 0, /* network is normal or unknown */
40};
42enum jrtc_netstat jrtc_netstat(struct jrtc_t* jc);
43
49void jrtc_i420_mirror(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
50void jrtc_nv12_mirror(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
51void jrtc_uyvy_mirror(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
52void jrtc_nv16_mirror(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
53
59void jrtc_i420_rotate90(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
60void jrtc_nv12_rotate90(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
61void jrtc_uyvy_rotate90(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
62void jrtc_nv16_rotate90(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
63
69void jrtc_i420_rotate270(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
70void jrtc_nv12_rotate270(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
71void jrtc_uyvy_rotate270(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
72void jrtc_nv16_rotate270(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
73
79void jrtc_i420_copy(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
80void jrtc_nv12_copy(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
81void jrtc_uyvy_copy(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
82void jrtc_nv16_copy(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
83
89void jrtc_i420_torgb565(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
90void jrtc_nv12_torgb565(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
91void jrtc_uyvy_torgb565(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
92void jrtc_nv16_torgb565(const struct jrtc_photo_t* src, int dst_w, int dst_h, char* dst);
93
95extern unsigned JRTC_SESSION_TIMEOUT; /*< 建立通话总的超时阀值,默认 300 秒*/
96extern unsigned JRTC_REPLY_TIMEOUT; /*< 建立通话中等待服务器应答的超时阀值,默认120 秒 */
97extern unsigned JRTC_MEDIA_TIMEOUT; /*< 接收媒体数据的超时阀值, 默认 20 秒 */
98extern unsigned JRTC_MAX_RTP_SIZE; /*< 发送的最大 RTP 包阀值, 默认1200,不能大于1500 */
99extern unsigned JRTC_AUDIO_RED_LOSS;/*< 开启音频冗余编码的丢包率阀值, 默认 10 % */
100extern unsigned JRTC_VIDEO_FEC_LOSS; /*< 开启视频冗余编码的丢包率阀值, 默认 5 % */
101extern unsigned JRTC_VIDEO_FEC_MAX_RTT;/*< 开启视频冗余编码的RTT上限, 默认 3000 ms, 0 则强制关闭FEC */
102extern unsigned JRTC_VIDEO_FEC_MAX_BW_RATIO; /*< 开启视频冗余编码的额外的码率占比, 默认 80 %, 0 则强制关闭FEC */
103extern unsigned JRTC_VIDEO_INIT_GOP; /*< 初始默认的视频关键帧间隔, 默认2000 ms */
104extern unsigned JRTC_TASK_STACK_KB; /*< 内部线程的栈大小,与平台相关 */
105extern unsigned JRTC_TASK_PRIORITY; /*< 内部线程的优先级,与平台相关 */
109extern char _jrtc_errstr[256]; /* 最近错误描述 */
113extern void (*on_jrtc_log)(char buf[1024], int len);
114/* 以下是当前全局配置值 */
115extern char _jrtc_appKey[25];
116extern char _jrtc_srvURL[129];
117extern char _jrtc_tokens[129];
118extern char _jrtc_aesKey[17];
119extern char _jrtc_license[65];
120extern struct jrtc_handler_t _jrtc_handler; /*< 事件处理的回调地址 */
123extern unsigned jc_time(void);
124#ifdef __cplusplus
125}
126#endif
127#endif
void jrtc_nv12_mirror(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
void jrtc_nv16_mirror(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
void jrtc_nv16_rotate270(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
char _jrtc_appKey[25]
void jrtc_i420_rotate270(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
顺时针转270度
void jrtc_config_server(const char srvURL[128])
重置服务器地址 注意:
void jrtc_nv16_torgb565(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
void jrtc_nv12_torgb565(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
unsigned JRTC_VIDEO_FEC_MAX_RTT
unsigned JRTC_VIDEO_INIT_GOP
void jrtc_i420_copy(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
裁剪
void jrtc_nv12_copy(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
unsigned JRTC_VIDEO_FEC_MAX_BW_RATIO
void(* on_jrtc_log)(char buf[1024], int len)
内部打印日志后,会调用该函数,可供上层捕获日志 注意"不能执行阻塞或耗时操作"
void jrtc_uyvy_rotate90(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
void jrtc_i420_mirror(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
镜像
void jrtc_uyvy_rotate270(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
void jrtc_i420_torgb565(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
转换为 RGB565
unsigned JRTC_MEDIA_TIMEOUT
unsigned JRTC_VIDEO_FEC_LOSS
unsigned jc_time(void)
void jrtc_uyvy_torgb565(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
void jrtc_uyvy_mirror(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
void jrtc_nv16_copy(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
void jrtc_nv12_rotate270(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
jrtc_netstat
定义 jrtc0.h:36
@ JRTC_NET_NORMAL
定义 jrtc0.h:37
@ JRTC_REMOTE_POOR
定义 jrtc0.h:39
@ JRTC_LOCAL_POOR
定义 jrtc0.h:38
unsigned JRTC_MAX_RTP_SIZE
void jrtc_nv12_rotate90(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
char _jrtc_errstr[256]
可辅助调试的全局值
char _jrtc_tokens[129]
void jrtc_nv16_rotate90(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
struct jrtc_t * jrtc_alloc(const char channelId[64], const char uid[64], struct jrtc_image_t *video, struct jrtc_image_t *camera, struct jrtc_options_t *options)
分配资源 参数与jrtc_open相同, 但没有线程驱动, 需要不断调用jrtc_schedule手工更新
unsigned JRTC_REPLY_TIMEOUT
unsigned JRTC_TASK_STACK_KB
enum jrtc_state jrtc_schedule(struct jrtc_t *jc)
单步更新通话 要求实时性处理, 务必在独立线程中持续更新, 当返回 JRTC_CLOSED 时, 可以退出该线程.
unsigned JRTC_AUDIO_RED_LOSS
void jrtc_uyvy_copy(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
char _jrtc_srvURL[129]
unsigned JRTC_SESSION_TIMEOUT
可优化配置的参数
char _jrtc_license[65]
struct jrtc_handler_t _jrtc_handler
unsigned JRTC_TASK_PRIORITY
char _jrtc_aesKey[17]
void jrtc_i420_rotate90(const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
顺时针转90度
jrtc_state
通话状态
定义 jrtc.h:411
会话中的事件处理函数集合
定义 jrtc.h:249
视频流中的图像
定义 jrtc.h:179
可选的会话参数
定义 jrtc.h:362
镜头采集的图像
定义 jrtc.h:144