修复WebRtcProxyPusher速率为0 bug (#4558)

This commit is contained in:
mtdxc
2025-11-22 08:22:42 +08:00
committed by GitHub
parent c9490ad764
commit 70a2140f27
4 changed files with 26 additions and 0 deletions

View File

@@ -2043,4 +2043,23 @@ size_t IceAgent::getRecvTotalBytes() {
return ret;
}
size_t IceAgent::getSendSpeed() {
size_t ret = 0;
for (auto s : _socket_candidate_manager.getAllSockets()) {
if (s && s->getSock()) {
ret += s->getSock()->getSendSpeed();
}
}
return ret;
}
size_t IceAgent::getSendTotalBytes() {
size_t ret = 0;
for (auto s : _socket_candidate_manager.getAllSockets()) {
if (s && s->getSock()) {
ret += s->getSock()->getSendTotalBytes();
}
}
return ret;
}
} // namespace RTC

View File

@@ -555,6 +555,8 @@ public:
Json::Value getChecklistInfo() const;
size_t getRecvSpeed();
size_t getRecvTotalBytes();
size_t getSendSpeed();
size_t getSendTotalBytes();
protected:
void gatheringSrflxCandidate(const Pair::Ptr& pair);

View File

@@ -34,6 +34,9 @@ public:
void publish(const std::string &url) override;
void teardown() override;
size_t getSendSpeed() override { return getWebRtcTransport() ? getWebRtcTransport()->getSendSpeed() : 0; }
size_t getSendTotalBytes() override { return getWebRtcTransport() ? getWebRtcTransport()->getSendTotalBytes() : 0; }
protected:
//// WebRtcClient override////
void startConnect() override;

View File

@@ -165,6 +165,8 @@ public:
void getTransportInfo(const std::function<void(Json::Value)> &callback) const;
size_t getRecvSpeed() const { return _ice_agent ? _ice_agent->getRecvSpeed() : 0; }
size_t getRecvTotalBytes() const { return _ice_agent ? _ice_agent->getRecvTotalBytes() : 0; }
size_t getSendSpeed() const { return _ice_agent ? _ice_agent->getSendSpeed() : 0; }
size_t getSendTotalBytes() const { return _ice_agent ? _ice_agent->getSendTotalBytes() : 0; }
void setOnShutdown(std::function<void(const toolkit::SockException &ex)> cb);