From 592d4964eff6b3423a0278a9ed04f0fd5f1b342c Mon Sep 17 00:00:00 2001 From: Haibo Chen Date: Fri, 22 Oct 2021 08:03:49 +0800 Subject: [PATCH] API: Always stat client event if auth fail. v4.0.183 --- trunk/doc/CHANGELOG.md | 1 + trunk/src/app/srs_app_rtmp_conn.cpp | 22 ++++++++++++++-------- trunk/src/core/srs_core_version4.hpp | 2 +- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/trunk/doc/CHANGELOG.md b/trunk/doc/CHANGELOG.md index a89078de2..b1560a5e9 100644 --- a/trunk/doc/CHANGELOG.md +++ b/trunk/doc/CHANGELOG.md @@ -8,6 +8,7 @@ The changelog for SRS. ## SRS 4.0 Changelog +* v4.0, 2021-10-22, Merge [#2687](https://github.com/ossrs/srs/pull/2687): API: Always stat client event if auth fail. v4.0.183 * v4.0, 2021-10-20, Merge [#1758](https://github.com/ossrs/srs/pull/1758): JSON: Support escape special chars. v4.0.182 * v4.0, 2021-10-19, Merge [#1754](https://github.com/ossrs/srs/pull/1754): RTMP: If port is explicity set to 0, use default 1935. v4.0.181 * v4.0, 2021-10-18, Merge [#2670](https://github.com/ossrs/srs/pull/2670): SRT: Solve mpegts demux assert bug. v4.0.180 diff --git a/trunk/src/app/srs_app_rtmp_conn.cpp b/trunk/src/app/srs_app_rtmp_conn.cpp index 4e081a1c8..cc7cc0b78 100644 --- a/trunk/src/app/srs_app_rtmp_conn.cpp +++ b/trunk/src/app/srs_app_rtmp_conn.cpp @@ -513,13 +513,7 @@ srs_error_t SrsRtmpConn::stream_service_cycle() return srs_error_wrap(err, "rtmp: fetch source"); } srs_assert(source != NULL); - - // update the statistic when source disconveried. - SrsStatistic* stat = SrsStatistic::instance(); - if ((err = stat->on_client(_srs_context->get_id().c_str(), req, this, info->type)) != srs_success) { - return srs_error_wrap(err, "rtmp: stat client"); - } - + bool enabled_cache = _srs_config->get_gop_cache(req->vhost); srs_trace("source url=%s, ip=%s, cache=%d, is_edge=%d, source_id=%s/%s", req->get_stream_url().c_str(), ip.c_str(), enabled_cache, info->edge, source->source_id().c_str(), source->pre_source_id().c_str()); @@ -697,6 +691,12 @@ srs_error_t SrsRtmpConn::do_playing(SrsLiveSource* source, SrsLiveConsumer* cons SrsRequest* req = info->req; srs_assert(req); srs_assert(consumer); + + // update the statistic when source disconveried. + SrsStatistic* stat = SrsStatistic::instance(); + if ((err = stat->on_client(_srs_context->get_id().c_str(), req, this, info->type)) != srs_success) { + return srs_error_wrap(err, "rtmp: stat client"); + } // initialize other components SrsPithyPrint* pprint = SrsPithyPrint::create_rtmp_play(); @@ -861,7 +861,13 @@ srs_error_t SrsRtmpConn::do_publishing(SrsLiveSource* source, SrsPublishRecvThre SrsRequest* req = info->req; SrsPithyPrint* pprint = SrsPithyPrint::create_rtmp_publish(); SrsAutoFree(SrsPithyPrint, pprint); - + + // update the statistic when source disconveried. + SrsStatistic* stat = SrsStatistic::instance(); + if ((err = stat->on_client(_srs_context->get_id().c_str(), req, this, info->type)) != srs_success) { + return srs_error_wrap(err, "rtmp: stat client"); + } + // start isolate recv thread. // TODO: FIXME: Pass the callback here. if ((err = rtrd->start()) != srs_success) { diff --git a/trunk/src/core/srs_core_version4.hpp b/trunk/src/core/srs_core_version4.hpp index 43cd0562b..58c0ffac5 100644 --- a/trunk/src/core/srs_core_version4.hpp +++ b/trunk/src/core/srs_core_version4.hpp @@ -9,6 +9,6 @@ #define VERSION_MAJOR 4 #define VERSION_MINOR 0 -#define VERSION_REVISION 182 +#define VERSION_REVISION 183 #endif