mirror of
https://gitee.com/xia-chu/ZLMediaKit.git
synced 2026-05-19 16:27:50 +08:00
rtc拉流代理支持显示sockInfo和码率
This commit is contained in:
parent
016f6e0e59
commit
13f603328f
@ -180,8 +180,8 @@ public:
|
|||||||
virtual void setOnResume(const std::function<void()> &cb) = 0;
|
virtual void setOnResume(const std::function<void()> &cb) = 0;
|
||||||
|
|
||||||
virtual size_t getRecvSpeed() { return 0; }
|
virtual size_t getRecvSpeed() { return 0; }
|
||||||
|
|
||||||
virtual size_t getRecvTotalBytes() { return 0; }
|
virtual size_t getRecvTotalBytes() { return 0; }
|
||||||
|
virtual std::shared_ptr<toolkit::SockInfo> getSockInfo() const { return nullptr; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void onResume() = 0;
|
virtual void onResume() = 0;
|
||||||
@ -241,8 +241,11 @@ public:
|
|||||||
return _delegate ? _delegate->getTracks(ready) : Parent::getTracks(ready);
|
return _delegate ? _delegate->getTracks(ready) : Parent::getTracks(ready);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<toolkit::SockInfo> getSockInfo() const {
|
std::shared_ptr<toolkit::SockInfo> getSockInfo() const override {
|
||||||
return std::dynamic_pointer_cast<toolkit::SockInfo>(_delegate);
|
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 {
|
void setMediaSource(const MediaSource::Ptr &src) override {
|
||||||
|
|||||||
@ -2023,4 +2023,24 @@ Json::Value IceAgent::getChecklistInfo() const {
|
|||||||
return result;
|
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
|
} // namespace RTC
|
||||||
|
|||||||
@ -553,6 +553,8 @@ public:
|
|||||||
|
|
||||||
// 获取checklist信息,用于API查询
|
// 获取checklist信息,用于API查询
|
||||||
Json::Value getChecklistInfo() const;
|
Json::Value getChecklistInfo() const;
|
||||||
|
size_t getRecvSpeed();
|
||||||
|
size_t getRecvTotalBytes();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void gatheringSrflxCandidate(const Pair::Ptr& pair);
|
void gatheringSrflxCandidate(const Pair::Ptr& pair);
|
||||||
|
|||||||
@ -36,6 +36,16 @@ public:
|
|||||||
void pause(bool pause) override;
|
void pause(bool pause) override;
|
||||||
void speed(float speed) 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:
|
protected:
|
||||||
|
|
||||||
//// WebRtcClient override////
|
//// WebRtcClient override////
|
||||||
|
|||||||
@ -163,6 +163,8 @@ public:
|
|||||||
float getTimeOutSec();
|
float getTimeOutSec();
|
||||||
|
|
||||||
void getTransportInfo(const std::function<void(Json::Value)> &callback) const;
|
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);
|
void setOnShutdown(std::function<void(const toolkit::SockException &ex)> cb);
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user