QT下使用Jrtp库函数 查看SR RR 包失败

ASKLW 2017-06-27 11:04:07
请教一下在QT下使用jrtp库函数,接收端使用一个线程接收数据,我想查看SR包信息,但是一直打印显示没有
srcdat->SR_HasInfo()返回false,就是没有收到SR包????我没有使用jthread线程,自己另外写的采集和发送线程;sess.GetRTCPDelay().GetSeconds()是有数据的;RTP数据包是可以正常发送接收的!
RTP包接收端:
while(flag)
{
status = sess.Poll();
checkerror(status);
if (sess.GotoFirstSourceWithData())
{
do
{
RTPPacket *pack;
RTPSourceData *srcdat;
//>>>>>>>>>>查看RTCP包信息<<<<<<<<<<<<<
while ((pack = sess.GetNextPacket()) != NULL)
{
srcdat=sess.GetCurrentSourceInfo();
if(srcdat->SR_HasInfo())
{

qDebug()<<"source info: "<<endl;
qDebug()<<" SR_GetPacketCount()="<<srcdat->SR_GetPacketCount()<<endl;

}
qDebug()<<"GetRTCPDelay()="<<sess.GetRTCPDelay().GetSeconds()<<"s "<<sess.GetRTCPDelay().GetMicroS econds()<<"us"<<endl;
sess.DeletePacket(pack);

}
} while (sess.GotoNextSourceWithData());

发送端(发送端是一直在发送的):

transparams.SetPortbase(portbase);
RTPIPv4Address addr(destip,destport);
status = sess.AddDestination(addr);
checkerror(status);
// 设置RTP会话默认参数
sess.SetDefaultPayloadType(0);
sess.SetDefaultMark(false);
sess.SetDefaultTimestampIncrement(10);
sess.SetMaximumPacketSize(65535);
sessparams.SetOwnTimestampUnit(1.0/10.0);
sessparams.SetAcceptOwnPackets(false);
status = sess.SendPacket((void *)ima.data(),dataLength);
checkerror(status);
...全文
688 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧