Iot SDK 4.0.0
载入中...
搜索中...
未找到
jrtc0.h 文件参考
#include "jrtc.h"

浏览该文件的源代码.

枚举

enum  jrtc_netstat { JRTC_NET_NORMAL = 0 , JRTC_LOCAL_POOR = 1 , JRTC_REMOTE_POOR = 2 }
 

函数

void jrtc_config_server (const char srvURL[128])
 重置服务器地址 注意:
 
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手工更新
 
enum jrtc_state jrtc_schedule (struct jrtc_t *jc)
 单步更新通话 要求实时性处理, 务必在独立线程中持续更新, 当返回 JRTC_CLOSED 时, 可以退出该线程.
 
enum jrtc_netstat jrtc_netstat (struct jrtc_t *jc)
 估计网络状态
 
void jrtc_i420_mirror (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 镜像
 
void jrtc_nv12_mirror (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_mirror (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 
void jrtc_i420_rotate90 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 顺时针转90度
 
void jrtc_nv12_rotate90 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 
void jrtc_uyvy_rotate90 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 
void jrtc_nv16_rotate90 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 
void jrtc_i420_rotate270 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 顺时针转270度
 
void jrtc_nv12_rotate270 (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_nv16_rotate270 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 
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)
 
void jrtc_uyvy_copy (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_i420_torgb565 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 转换为 RGB565
 
void jrtc_nv12_torgb565 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 
void jrtc_uyvy_torgb565 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 
void jrtc_nv16_torgb565 (const struct jrtc_photo_t *src, int dst_w, int dst_h, char *dst)
 
unsigned jc_time (void)
 

变量

unsigned JRTC_SESSION_TIMEOUT
 可优化配置的参数
 
unsigned JRTC_REPLY_TIMEOUT
 
unsigned JRTC_MEDIA_TIMEOUT
 
unsigned JRTC_MAX_RTP_SIZE
 
unsigned JRTC_AUDIO_RED_LOSS
 
unsigned JRTC_VIDEO_FEC_LOSS
 
unsigned JRTC_VIDEO_FEC_MAX_RTT
 
unsigned JRTC_VIDEO_FEC_MAX_BW_RATIO
 
unsigned JRTC_VIDEO_INIT_GOP
 
unsigned JRTC_TASK_STACK_KB
 
unsigned JRTC_TASK_PRIORITY
 
char _jrtc_errstr [256]
 可辅助调试的全局值
 
void(* on_jrtc_log )(char buf[1024], int len)
 内部打印日志后,会调用该函数,可供上层捕获日志 注意"不能执行阻塞或耗时操作"
 
char _jrtc_appKey [25]
 
char _jrtc_srvURL [129]
 
char _jrtc_tokens [129]
 
char _jrtc_aesKey [17]
 
char _jrtc_license [65]
 
struct jrtc_handler_t _jrtc_handler
 

枚举类型说明

◆ jrtc_netstat

枚举值
JRTC_NET_NORMAL 
JRTC_LOCAL_POOR 
JRTC_REMOTE_POOR 

在文件 jrtc0.h35 行定义.

函数说明

◆ jrtc_config_server()

void jrtc_config_server ( const char srvURL[128])

重置服务器地址 注意:

  • 手工设置新地址,通常只用于测试
  • srvURL 为空时, 恢复为内置的默认服务器地址
  • jrtc_alloc前设置才能生效
参数
[in]srvURL服务器地址

◆ jrtc_alloc()

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手工更新

◆ jrtc_schedule()

enum jrtc_state jrtc_schedule ( struct jrtc_t * jc)

单步更新通话 要求实时性处理, 务必在独立线程中持续更新, 当返回 JRTC_CLOSED 时, 可以退出该线程.

例如:

while (jrtc_schedule(jc) != JRTC_CLOSED);
enum jrtc_state jrtc_schedule(struct jrtc_t *jc)
单步更新通话 要求实时性处理, 务必在独立线程中持续更新, 当返回 JRTC_CLOSED 时, 可以退出该线程.
@ JRTC_CLOSED
初始状态
定义 jrtc.h:412

◆ jrtc_netstat()

enum jrtc_netstat jrtc_netstat ( struct jrtc_t * jc)

估计网络状态

◆ jrtc_i420_mirror()

void jrtc_i420_mirror ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

镜像

参数
[in]dst_w目标宽度, 会自动裁剪,但不缩放
[in]dst_h目标高度, 负数时会先上下翻转(等价于旋转180度)
[out]dst目标内存

◆ jrtc_nv12_mirror()

void jrtc_nv12_mirror ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_uyvy_mirror()

void jrtc_uyvy_mirror ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_nv16_mirror()

void jrtc_nv16_mirror ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_i420_rotate90()

void jrtc_i420_rotate90 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

顺时针转90度

参数
[in]dst_w目标宽度, 会自动裁剪,但不缩放
[in]dst_h目标高度, 负数时会先上下翻转(等价于转90后水平镜像)
[out]dst目标内存

◆ jrtc_nv12_rotate90()

void jrtc_nv12_rotate90 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_uyvy_rotate90()

void jrtc_uyvy_rotate90 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_nv16_rotate90()

void jrtc_nv16_rotate90 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_i420_rotate270()

void jrtc_i420_rotate270 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

顺时针转270度

参数
[in]dst_w目标宽度, 会自动裁剪,但不缩放
[in]dst_h目标高度, 负数时会先上下翻转(等价于转270后水平镜像)
[out]dst目标内存

◆ jrtc_nv12_rotate270()

void jrtc_nv12_rotate270 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_uyvy_rotate270()

void jrtc_uyvy_rotate270 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_nv16_rotate270()

void jrtc_nv16_rotate270 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_i420_copy()

void jrtc_i420_copy ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

裁剪

参数
[in]dst_w目标宽度, 会自动裁剪,但不缩放
[in]dst_h目标高度, 负数时会先上下翻转
[out]dst目标内存

◆ jrtc_nv12_copy()

void jrtc_nv12_copy ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_uyvy_copy()

void jrtc_uyvy_copy ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_nv16_copy()

void jrtc_nv16_copy ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_i420_torgb565()

void jrtc_i420_torgb565 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

转换为 RGB565

参数
[in]dst_w目标宽度, 会自动裁剪,但不缩放
[in]dst_h目标高度, 负数时会先上下翻转
[out]dst目标内存, 输出长度为 dst_w*dst_h*sizeof(short)

◆ jrtc_nv12_torgb565()

void jrtc_nv12_torgb565 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_uyvy_torgb565()

void jrtc_uyvy_torgb565 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jrtc_nv16_torgb565()

void jrtc_nv16_torgb565 ( const struct jrtc_photo_t * src,
int dst_w,
int dst_h,
char * dst )

◆ jc_time()

unsigned jc_time ( void )
extern

变量说明

◆ JRTC_SESSION_TIMEOUT

unsigned JRTC_SESSION_TIMEOUT
extern

可优化配置的参数

◆ JRTC_REPLY_TIMEOUT

unsigned JRTC_REPLY_TIMEOUT
extern

◆ JRTC_MEDIA_TIMEOUT

unsigned JRTC_MEDIA_TIMEOUT
extern

◆ JRTC_MAX_RTP_SIZE

unsigned JRTC_MAX_RTP_SIZE
extern

◆ JRTC_AUDIO_RED_LOSS

unsigned JRTC_AUDIO_RED_LOSS
extern

◆ JRTC_VIDEO_FEC_LOSS

unsigned JRTC_VIDEO_FEC_LOSS
extern

◆ JRTC_VIDEO_FEC_MAX_RTT

unsigned JRTC_VIDEO_FEC_MAX_RTT
extern

◆ JRTC_VIDEO_FEC_MAX_BW_RATIO

unsigned JRTC_VIDEO_FEC_MAX_BW_RATIO
extern

◆ JRTC_VIDEO_INIT_GOP

unsigned JRTC_VIDEO_INIT_GOP
extern

◆ JRTC_TASK_STACK_KB

unsigned JRTC_TASK_STACK_KB
extern

◆ JRTC_TASK_PRIORITY

unsigned JRTC_TASK_PRIORITY
extern

◆ _jrtc_errstr

char _jrtc_errstr[256]
extern

可辅助调试的全局值

◆ on_jrtc_log

void(* on_jrtc_log) (char buf[1024], int len) ( char buf[1024],
int len )
extern

内部打印日志后,会调用该函数,可供上层捕获日志 注意"不能执行阻塞或耗时操作"

◆ _jrtc_appKey

char _jrtc_appKey[25]
extern

◆ _jrtc_srvURL

char _jrtc_srvURL[129]
extern

◆ _jrtc_tokens

char _jrtc_tokens[129]
extern

◆ _jrtc_aesKey

char _jrtc_aesKey[17]
extern

◆ _jrtc_license

char _jrtc_license[65]
extern

◆ _jrtc_handler

struct jrtc_handler_t _jrtc_handler
extern