Commit 22c68a29 by Johnny

调整 RtcpContext 成员函数

parent f6412917
......@@ -120,8 +120,10 @@ size_t RtcpContext::getExpectedPackets() const {
size_t RtcpContextForRecv::getExpectedPackets() const {
return (_seq_cycles << 16) + _seq_max - _seq_base + 1;
}
size_t RtcpContext::getExpectedPacketsInterval() {
throw std::runtime_error("没有实现, rtp发送者无法统计应收包数");
}
size_t RtcpContextForRecv::getExpectedPacketsInterval() {
auto expected = getExpectedPackets();
auto ret = expected - _last_expected;
_last_expected = expected;
......@@ -137,6 +139,9 @@ size_t RtcpContextForRecv::getLost() {
}
size_t RtcpContext::geLostInterval() {
throw std::runtime_error("没有实现, rtp发送者无法统计丢包率");
}
size_t RtcpContextForRecv::geLostInterval() {
auto lost = getLost();
auto ret = lost - _last_lost;
_last_lost = lost;
......
......@@ -73,12 +73,12 @@ public:
/**
* 上次结果与本次结果间应收包数
*/
size_t getExpectedPacketsInterval();
virtual size_t getExpectedPacketsInterval();
/**
* 上次结果与本次结果间丢包个数
*/
size_t geLostInterval();
virtual size_t geLostInterval();
protected:
//收到或发送的rtp的字节数
......@@ -124,7 +124,9 @@ public:
void onRtp(uint16_t seq, uint32_t stamp, uint64_t ntp_stamp_ms, uint32_t sample_rate, size_t bytes) override;
Buffer::Ptr createRtcpRR(uint32_t rtcp_ssrc, uint32_t rtp_ssrc) override;
size_t getExpectedPackets() const override;
size_t getExpectedPacketsInterval() override;
size_t getLost() override;
size_t geLostInterval() override;
};
}//namespace mediakit
#endif //ZLMEDIAKIT_RTCPCONTEXT_H
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论