当前位置: 首页>>代码示例>>C++>>正文


C++ RtcpHeader::get32MiddleNtp方法代码示例

本文整理汇总了C++中RtcpHeader::get32MiddleNtp方法的典型用法代码示例。如果您正苦于以下问题:C++ RtcpHeader::get32MiddleNtp方法的具体用法?C++ RtcpHeader::get32MiddleNtp怎么用?C++ RtcpHeader::get32MiddleNtp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在RtcpHeader的用法示例。


在下文中一共展示了RtcpHeader::get32MiddleNtp方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: handleSR

void RRGenerationHandler::handleSR(std::shared_ptr<dataPacket> packet) {
  RtcpHeader *chead = reinterpret_cast<RtcpHeader*>(packet->data);
  auto rr_packet_pair = rr_info_map_.find(chead->getSSRC());
  if (rr_packet_pair == rr_info_map_.end()) {
    ELOG_DEBUG("%s message: handleRtpPacket ssrc not found, ssrc: %u", connection_->toLog(), chead->getSSRC());
    return;
  }
  std::shared_ptr<RRPackets> selected_packet_info = rr_packet_pair->second;

  selected_packet_info->last_sr_mid_ntp = chead->get32MiddleNtp();
  selected_packet_info->last_sr_ts = packet->received_time_ms;
  uint32_t expected = selected_packet_info->extended_seq - selected_packet_info->base_seq + 1;
  selected_packet_info->lost = expected - selected_packet_info->packets_received;

  uint8_t fraction = 0;
  uint32_t expected_interval = expected - selected_packet_info->expected_prior;
  selected_packet_info->expected_prior = expected;
  uint32_t received_interval = selected_packet_info->packets_received - selected_packet_info->received_prior;

  selected_packet_info->received_prior = selected_packet_info->packets_received;
  uint32_t lost_interval = expected_interval - received_interval;
  if (expected_interval != 0 && lost_interval > 0) {
    fraction = (lost_interval << 8) / expected_interval;
  }

  selected_packet_info->frac_lost = fraction;
  if (!use_timing_) {
    sendRR(selected_packet_info);
  }
}
开发者ID:ytjjyy,项目名称:licode,代码行数:30,代码来源:RRGenerationHandler.cpp

示例2: handleSr

void RtcpRrGenerator::handleSr(std::shared_ptr<dataPacket> packet) {
  RtcpHeader* chead = reinterpret_cast<RtcpHeader*>(packet->data);
  if (ssrc_ != chead->getSSRC()) {
    ELOG_DEBUG("message: handleRtpPacket ssrc not found, ssrc: %u", chead->getSSRC());
    return;
  }

  rr_info_.last_sr_mid_ntp = chead->get32MiddleNtp();
  rr_info_.last_sr_ts = packet->received_time_ms;
}
开发者ID:shahrukh330,项目名称:licode,代码行数:10,代码来源:RtcpRrGenerator.cpp


注:本文中的RtcpHeader::get32MiddleNtp方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。