mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-03-04 21:20:54 +08:00
rtc拉流代理支持显示sockInfo和码率
This commit is contained in:
@@ -180,8 +180,8 @@ public:
|
||||
virtual void setOnResume(const std::function<void()> &cb) = 0;
|
||||
|
||||
virtual size_t getRecvSpeed() { return 0; }
|
||||
|
||||
virtual size_t getRecvTotalBytes() { return 0; }
|
||||
virtual std::shared_ptr<toolkit::SockInfo> getSockInfo() const { return nullptr; }
|
||||
|
||||
protected:
|
||||
virtual void onResume() = 0;
|
||||
@@ -241,8 +241,11 @@ public:
|
||||
return _delegate ? _delegate->getTracks(ready) : Parent::getTracks(ready);
|
||||
}
|
||||
|
||||
std::shared_ptr<toolkit::SockInfo> getSockInfo() const {
|
||||
return std::dynamic_pointer_cast<toolkit::SockInfo>(_delegate);
|
||||
std::shared_ptr<toolkit::SockInfo> getSockInfo() const override {
|
||||
auto ret = std::dynamic_pointer_cast<toolkit::SockInfo>(_delegate);
|
||||
if (!ret)
|
||||
ret = _delegate ? _delegate->getSockInfo() : Parent::getSockInfo();
|
||||
return ret;
|
||||
}
|
||||
|
||||
void setMediaSource(const MediaSource::Ptr &src) override {
|
||||
|
||||
@@ -2023,4 +2023,24 @@ Json::Value IceAgent::getChecklistInfo() const {
|
||||
return result;
|
||||
}
|
||||
|
||||
size_t IceAgent::getRecvSpeed() {
|
||||
size_t ret = 0;
|
||||
for (auto s : _socket_candidate_manager.getAllSockets()) {
|
||||
if (s && s->getSock()) {
|
||||
ret += s->getSock()->getRecvSpeed();
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
size_t IceAgent::getRecvTotalBytes() {
|
||||
size_t ret = 0;
|
||||
for (auto s : _socket_candidate_manager.getAllSockets()) {
|
||||
if (s && s->getSock()) {
|
||||
ret += s->getSock()->getRecvTotalBytes();
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // namespace RTC
|
||||
|
||||
@@ -553,6 +553,8 @@ public:
|
||||
|
||||
// 获取checklist信息,用于API查询
|
||||
Json::Value getChecklistInfo() const;
|
||||
size_t getRecvSpeed();
|
||||
size_t getRecvTotalBytes();
|
||||
|
||||
protected:
|
||||
void gatheringSrflxCandidate(const Pair::Ptr& pair);
|
||||
|
||||
@@ -36,6 +36,16 @@ public:
|
||||
void pause(bool pause) override;
|
||||
void speed(float speed) override;
|
||||
|
||||
std::shared_ptr<toolkit::SockInfo> getSockInfo() const override {
|
||||
return getWebRtcTransport() ? getWebRtcTransport()->getSession() : nullptr;
|
||||
}
|
||||
size_t getRecvSpeed() override {
|
||||
return getWebRtcTransport() ? getWebRtcTransport()->getRecvSpeed() : 0;
|
||||
}
|
||||
size_t getRecvTotalBytes() override {
|
||||
return getWebRtcTransport() ? getWebRtcTransport()->getRecvTotalBytes() : 0;
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
//// WebRtcClient override////
|
||||
|
||||
@@ -163,6 +163,8 @@ public:
|
||||
float getTimeOutSec();
|
||||
|
||||
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; }
|
||||
|
||||
void setOnShutdown(std::function<void(const toolkit::SockException &ex)> cb);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user