通过阅读本文,你可以了解全局参数和局部参数的设置方法。

全局参数设置

全局参数不针对特定的实例,设置时确保没有实例在运行(在openclose期间之外执行)。设置消息回调函数和日志回调函数请参见Native RTS SDK中的rtsdec.c文件。

 __rts_funcs->preconfig("LogCallback", addr_to_string(output_log, buf));
 __rts_funcs->preconfig("LogCbParam", addr_to_string(s, buf));
 __rts_funcs->preconfig("MessageCallback", addr_to_string(format_control_message, buf));
 __rts_funcs->preconfig("MessageCbParam", addr_to_string(s, buf));
 ...
 __rts_funcs->open(...);
 //这个期间不要调用preconfig
 __rts_funcs->close(...);

 //现在可以调用preconfig

局部参数设置

局部参数针对特定的实例,设置时需确保实例在运行(在openclose期间执行)。局部参数设置函数可实现接口调用、参数获取等功能。函数声明如下所示:

long long (* ioctl)(void *handle, const char *cmd, void *arg);

参数说明

参数 类型 描述
handle void * 播放流时获取的句柄。
cmd char * 命令,详情请参见下表。
arg void * 命令所对应的参数。
命令 说明 命令对应的参数 返回值
get_stream_info 获取流参数。 无。 流参数指针rts_worker_demux_info *。
reload 重连。 无。 返回0表示调用成功,小于0表示调用失败。
get_state 查询key-value。 ARTC_VIDEO_CACHE_SIZE(视频缓存时长),类型:int *。 缓存时长,单位:毫秒。
set_aes_key 设置解密密钥。 阿里云视频加密keyinfo,类型:char *。 返回0表示调用成功,小于0表示调用失败。
unsubscribe 停止订阅流。 无。 返回0表示调用成功,小于0表示调用失败。
subscribe 订阅流。 URL地址,类型:char *。 返回0表示调用成功,小于0表示调用失败。