jrtplib中怎么实现rtcp传输,怎么提取rtcp信息

jrtplib中如何实现rtcp传输,如何提取rtcp信息
基于jrtplib3.7做rtp传输,现在想通过rtcp反馈信息获得丢包率和可用带宽,请问该如何提取RR报告中的信息,再请问一下jrtplib是如何实现rtcp包的发送接收的,是定期发送吗,如何控制发送的间隔时间,网上介绍jrtplib下rtcp的文章太少了,基本上都是说这个可以由jrtplib自动完成,但却不知道是如何完成的,特别是如何提取rtcp包的信息。对于rtp包都可以通过GetPayLoadData()和GetPayLoadLength()函数来获取数据和长度,不知rtcp是不是也有类似函数可以实现呢。哪位大哥知道的麻烦指点一下啦。


------解决方案--------------------
基于jrtplib3.7做rtp传输,现在想通过rtcp反馈信息获得丢包率和可用带宽,请问该如何提取RR报告中的信息,再请问一下jrtplib是如何实现rtcp包的发送接收的,是定期发送吗,如何控制发送的间隔时间,网上介绍jrtplib下rtcp的文章太少了,

[千里]jrtplib对RTCP包发送时间间隔的计算,是按照RFC3550 6.3.1上面的算法实现的,可以看RTCPScheduler的代码:
RTCPScheduler::CalculateDeterministicInterval()
RTCPScheduler::CalculateTransmissionInterval()

基本上都是说这个可以由jrtplib自动完成,但却不知道是如何完成的,特别是如何提取rtcp包的信息。对于rtp包都可以通过GetPayLoadData()和GetPayLoadLength()函数来获取数据和长度,不知rtcp是不是也有类似函数可以实现呢。

[千里]RTCP包有类似函数GetPacketData()和GetPacketLength().
不过想获取RR包的信息,不需要用这个自己解码,RTCPRRPacket已经解好并提供接口给你:
RTCPRRPacket::GetSenderSSRC()
RTCPRRPacket::GetReceptionReportCount()
RTCPRRPacket::GetSSRC()
RTCPRRPacket::GetFractionLost()
...

哪位大哥知道的麻烦指点一下啦。