函数原型
int (* event_callback)(
void *opaque,
int type,
void *data,
long long data_size
);
参数介绍
参数 | 解释 |
---|---|
opaque | 通过preconfig("MessageCbParam")设置的值,RTS SDK将原值回传给event_callbac 。
|
type | 消息ID。 |
data | 消息内容,格式为when=<time_in_ms>,where=<place>,who=<id>,desc=<extra text> 。该参数为临时变量,出了回调函数会销毁。
|
data_size | 消息内容长度,单位:字节。 |
消息ID说明
消息ID | 说明 |
---|---|
100 | Help support ID消息。发生在open函数中的connect之前。 |
102 | Help support ID消息,发生在connect操作中。 |
103 | Help support ID消息,发生在推流操作中。 |
104 | Help support ID消息,发生在拉流操作中。 |
105 | 每4秒统计一次数据消息。
说明 当消息ID是105(统计数据消息)时,desc的内容格式为
\"key1:val1,key2:val2,...\" 。
|
20000 ~ 30000 | 错误码。 |
20001 | DNS出错,无法解析域名。 |
20002 | 域名访问权限验证失败。 |
20009 | 成功连接到流媒体服务器。 |
20010 | 连接流媒体服务器失败。 |
20012 | 订阅流超时。 |
20013 | 订阅流不存在。 |
20014 | 订阅流没有音频。 |
20015 | 订阅流没有视频。 |
20020 | 其他未知订阅错误。 |
20050 | 丢包率高,拥塞严重。 |
20051 | 丢包率降到正常水平,拥塞恢复。 |
20052 | 流中断,没有任何音频或者视频包。 |
20053 | 流中断恢复。 |
20054 | 流结束。 |
20055 | 连接丢失。 |
20056 | 检测到流重新推送。 |
20057 | 无法播放,需要降级到RTMP。 |
示例说明
消息回调函数通过preconfig设置给RTS SDK,请参考移动端RTS SDK中的rtsdec.c文件,详情请参见SDK下载。
static int on_message(void *s,
int type,
void *data,
long long data_size)
{
(void) s;
//TODO: process message, do not take too long
switch(type) {
case 105:
printf("Profiling message %s.\n", (const char *)data);
break;
default:
break;
}
return 0;
}
__rts_funcs->preconfig("MessageCallback", addr_to_string(on_message, buf));
__rts_funcs->preconfig("MessageCbParam", addr_to_string(s, buf));
在文档使用中是否遇到以下问题
更多建议
匿名提交