mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
RTC: Support statistic for HTTP-API, HTTP-Callback and Security (#2483) v4.0.144
* commit message for your changes. Lines starting * Update srs_app_rtc_api.cpp * add SrsRtcConnPlay and SrsRtcConnPublish, in enum SrsRtmpConnType * Update srs_rtmp_stack.cpp * Update srs_app_rtc_conn.cpp * Update srs_app_rtc_api.cpp * update utest * Update srs_utest_app.cpp
This commit is contained in:
parent
4332beed79
commit
86c67f7d95
11 changed files with 172 additions and 52 deletions
|
@ -404,6 +404,10 @@ SrsRtcPlayStream::~SrsRtcPlayStream()
|
|||
srs_freep(it->second);
|
||||
}
|
||||
}
|
||||
|
||||
// update the statistic when client coveried.
|
||||
SrsStatistic* stat = SrsStatistic::instance();
|
||||
stat->on_disconnect(cid_.c_str());
|
||||
}
|
||||
|
||||
srs_error_t SrsRtcPlayStream::initialize(SrsRequest* req, std::map<uint32_t, SrsRtcTrackDescription*> sub_relations)
|
||||
|
@ -529,6 +533,12 @@ srs_error_t SrsRtcPlayStream::start()
|
|||
return srs_error_wrap(err, "on start play");
|
||||
}
|
||||
}
|
||||
|
||||
// update the statistic when client discoveried.
|
||||
SrsStatistic* stat = SrsStatistic::instance();
|
||||
if ((err = stat->on_client(cid_.c_str(), req_, session_, SrsRtcConnPlay)) != srs_success) {
|
||||
return srs_error_wrap(err, "rtc: stat client");
|
||||
}
|
||||
|
||||
is_started = true;
|
||||
|
||||
|
@ -998,6 +1008,10 @@ SrsRtcPublishStream::~SrsRtcPublishStream()
|
|||
srs_freep(twcc_epp_);
|
||||
srs_freep(pli_epp);
|
||||
srs_freep(req);
|
||||
|
||||
// update the statistic when client coveried.
|
||||
SrsStatistic* stat = SrsStatistic::instance();
|
||||
stat->on_disconnect(cid_.c_str());
|
||||
}
|
||||
|
||||
srs_error_t SrsRtcPublishStream::initialize(SrsRequest* r, SrsRtcSourceDescription* stream_desc)
|
||||
|
@ -1112,6 +1126,12 @@ srs_error_t SrsRtcPublishStream::start()
|
|||
return srs_error_wrap(err, "on start publish");
|
||||
}
|
||||
}
|
||||
|
||||
// update the statistic when client discoveried.
|
||||
SrsStatistic* stat = SrsStatistic::instance();
|
||||
if ((err = stat->on_client(cid_.c_str(), req, session_, SrsRtcConnPublish)) != srs_success) {
|
||||
return srs_error_wrap(err, "rtc: stat client");
|
||||
}
|
||||
|
||||
is_started = true;
|
||||
|
||||
|
@ -1823,6 +1843,11 @@ std::string SrsRtcConnection::desc()
|
|||
return "RtcConn";
|
||||
}
|
||||
|
||||
void SrsRtcConnection::expire()
|
||||
{
|
||||
_srs_rtc_manager->remove(this);
|
||||
}
|
||||
|
||||
void SrsRtcConnection::switch_to_context()
|
||||
{
|
||||
_srs_context->set_id(cid_);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue