完善获取丢包率pull request; 新增MediaSource::getOwnerPoller接口

This commit is contained in:
xiongziliang
2022-06-11 12:56:03 +08:00
parent be995f9cd2
commit b6d3ec5251
5 changed files with 50 additions and 20 deletions

View File

@@ -612,10 +612,10 @@ public:
}
int getLossRate() {
if (!_rtcp_context.getExpectedPacketsInterval()) //_rtcp_context.getExpectedPacketsInterval()取值总为零?
{
return 0;
}
if (!_rtcp_context.getExpectedPacketsInterval()) {
//_rtcp_context.getExpectedPacketsInterval()取值总为零?
return 0;
}
return _rtcp_context.geLostInterval() * 100 / _rtcp_context.getExpectedPacketsInterval();
}
@@ -659,19 +659,18 @@ std::shared_ptr<RtpChannel> MediaTrack::getRtpChannel(uint32_t ssrc) const{
return it_chn->second;
}
int WebRtcTransportImp::getLossRate(mediakit::TrackType type){
for(auto it : _ssrc_to_track){
auto ssrc = it.first;
auto track = it.second;
auto rtp_chn = track->getRtpChannel(ssrc);
if(rtp_chn){
InfoL << "-----------接收丢包率,ssrc------------- :" << ssrc << ",loss rate(%):" << rtp_chn->getLossRate() ;
if (track->media && type==track->media->type){
int WebRtcTransportImp::getLossRate(mediakit::TrackType type) {
for (auto &pr : _ssrc_to_track) {
auto ssrc = pr.first;
auto &track = pr.second;
auto rtp_chn = track->getRtpChannel(ssrc);
if (rtp_chn) {
if (track->media && type == track->media->type) {
return rtp_chn->getLossRate();
}
}
}
}
return -1;
return -1;
}
void WebRtcTransportImp::onRtcp(const char *buf, size_t len) {