如果这样设置了
sessparams.SetOwnTimestampUnit(1.0/15.0);
然后客户端接受到某个包后
发现时间戳不对啊,怎么回事,如下:
uint32_t timestamp1 = pack->GetTimestamp();
这里timestamp1 不等于1.0/15.0
???????????????
------解决方案--------------------------------------------------------
//RTP+RTCP库初始化SOCKET环境
RTPUDPv4TransmissionParams transparams;
RTPSessionParams sessparams;
sessparams.SetOwnTimestampUnit(1.0/90000.0); //时间戳单位
sessparams.SetAcceptOwnPackets(true);
sess.SetDefaultPayloadType(96);
sess.SetDefaultMark(false);
sess.SetDefaultTimestampIncrement(6000);
------解决方案--------------------------------------------------------
如果这样设置了
sessparams.SetOwnTimestampUnit(1.0/15.0);
然后客户端接受到某个包后
发现时间戳不对啊,怎么回事,如下:
uint32_t timestamp1 = pack->GetTimestamp();
这里timestamp1 不等于1.0/15.0
时间戳是32位的整型值,怎么会等于1.0/15.0?这只不过是设置一个时间戳单位,例如音频采样频率是8000hz的话,设置了sessparams.SetOwnTimestampUnit(1.0/50.0);,那么时间戳增量应该为160
------解决方案--------------------------------------------------------
SetOwnTimestampUnit这个是时间戳的单位,不是时间戳