【发布时间】:2015-01-16 21:09:20
【问题描述】:
我正在开发的产品使用 pjsip and friends 在机器之间进行一些 VOIP 呼叫。使用pjsua_call_get_stream_stat 检索有关呼叫的统计信息,它成功返回并返回大量指标。但是,stat.rtcp.rtt 中存储的往返时间数据始终为零。鉴于我是从西雅图打电话到新加坡,这肯定是不正确的。
我追踪了rtt 结构是如何设置的,它是由pjsua_call_get_stream_stat 通过pjmedia_stream_get_stat 完成的,这只是一个从流的stat 结构到目标结构的薄包装memcpy。
真的奇怪的是,我使用 GDB 在流的 stat 结构(即stream->rtcp.stat)及其成员变量上设置观察点,你瞧,这些地址唯一一次当它们被初始化为零时被写入。
为什么从不写入 RTT 信息?即使pjsua_call_get_stream_stat返回的其余数据看起来不错,是否有一些配置可能会被搞砸?
【问题讨论】: