mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
SRT: support rtmp to srt
This commit is contained in:
parent
7da792f19d
commit
e13d16439e
14 changed files with 453 additions and 161 deletions
|
@ -376,6 +376,18 @@ srs_error_t srs_srt_get_remote_ip_port(SRTSOCKET srt_fd, std::string& ip, int& p
|
|||
return err;
|
||||
}
|
||||
|
||||
srs_error_t srs_srt_get_stats(SRTSOCKET srt_fd, SRT_TRACEBSTATS* srt_stats, bool clear)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
int ret = srt_bstats(srt_fd, srt_stats, clear);
|
||||
if (ret != 0) {
|
||||
return srs_error_new(ERROR_SRT_STATS, "srt_bstats");
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
SrsSrtPoller::SrsSrtPoller()
|
||||
{
|
||||
srt_epoller_fd_ = -1;
|
||||
|
@ -395,6 +407,9 @@ srs_error_t SrsSrtPoller::initialize()
|
|||
srt_epoller_fd_ = srt_epoll_create();
|
||||
events_.resize(1024);
|
||||
|
||||
// Enable srt empty poller, avoid warning.
|
||||
srt_epoll_set(srt_epoller_fd_, SRT_EPOLL_ENABLE_EMPTY);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -442,7 +457,7 @@ srs_error_t SrsSrtPoller::wait(int timeout_ms)
|
|||
// wait srt event fired, will timeout after `timeout_ms` milliseconds.
|
||||
int ret = srt_epoll_uwait(srt_epoller_fd_, events_.data(), events_.size(), timeout_ms);
|
||||
if (ret < 0) {
|
||||
return srs_error_new(ERROR_SRT_EPOLL, "srt_epoll_uwait, ret=%d", ret);
|
||||
return srs_error_new(ERROR_SRT_EPOLL, "srt_epoll_uwait, ret=%d, err=%s", ret, srt_getlasterror_str());
|
||||
}
|
||||
|
||||
for (int i = 0; i < ret; ++i) {
|
||||
|
|
|
@ -61,6 +61,9 @@ extern srs_error_t srs_srt_get_streamid(SRTSOCKET srt_fd, std::string& streamid)
|
|||
extern srs_error_t srs_srt_get_local_ip_port(SRTSOCKET srt_fd, std::string& ip, int& port);
|
||||
extern srs_error_t srs_srt_get_remote_ip_port(SRTSOCKET srt_fd, std::string& ip, int& port);
|
||||
|
||||
// Get SRT stats.
|
||||
extern srs_error_t srs_srt_get_stats(SRTSOCKET srt_fd, SRT_TRACEBSTATS* srt_stats, bool clear);
|
||||
|
||||
class SrsSrtSocket;
|
||||
|
||||
// Srt poller, subscribe/unsubscribed events and wait them fired.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue