From f5e8bae7602080b677f876d47ad4e272b00dca84 Mon Sep 17 00:00:00 2001 From: sunhui Date: Wed, 10 Mar 2021 23:17:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=B8=8D=E6=8C=87?= =?UTF-8?q?=E5=AE=9A=E6=B5=81=E6=88=96=E8=80=85TCP=E6=9A=82=E5=81=9C?= =?UTF-8?q?=E6=96=AD=E6=B5=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Rtp/RtpServer.cpp | 21 ++++++++++++++++++--- src/Rtp/RtpServer.h | 4 ++-- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/Rtp/RtpServer.cpp b/src/Rtp/RtpServer.cpp index b53f9254..22fb4ffb 100644 --- a/src/Rtp/RtpServer.cpp +++ b/src/Rtp/RtpServer.cpp @@ -160,15 +160,30 @@ uint16_t RtpServer::getPort() { return _udp_server ? _udp_server->get_local_port() : 0; } -void RtpServer::pauseRtpCheck(){ +void RtpServer::pauseRtpCheck(const string &stream_id){ if(_rtp_process) _rtp_process->setStopCheckRtp(true); + else{ + if(!stream_id.empty()){ + auto rtp_process = RtpSelector::Instance().getProcess(stream_id,false); + if(rtp_process) + rtp_process->setStopCheckRtp(true); + } + } + } -void RtpServer::resumeRtpCheck(){ +void RtpServer::resumeRtpCheck(const string &stream_id){ if(_rtp_process) _rtp_process->setStopCheckRtp(false); - + else{ + //解决不指定流或者TCP收流无法暂停 + if(!stream_id.empty()){ + auto rtp_process = RtpSelector::Instance().getProcess(stream_id,false); + if(rtp_process) + rtp_process->setStopCheckRtp(false); + } + } } }//namespace mediakit diff --git a/src/Rtp/RtpServer.h b/src/Rtp/RtpServer.h index 9f8668ae..afab76ca 100644 --- a/src/Rtp/RtpServer.h +++ b/src/Rtp/RtpServer.h @@ -60,12 +60,12 @@ public: /** * 暂停Rtp服务的RTP流检测 */ - void pauseRtpCheck(); + void pauseRtpCheck(const string &stream_id = ""); /** * 恢复Rtp服务的RTP流检测 */ - void resumeRtpCheck(); + void resumeRtpCheck(const string &stream_id = ""); protected: Socket::Ptr _udp_server; From ce80edffd2c3e918c6fd63774a8c7ca1a6e71f5c Mon Sep 17 00:00:00 2001 From: sunhui Date: Thu, 11 Mar 2021 10:05:53 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=94=AF=E6=8C=81TCP?= =?UTF-8?q?=E6=9A=82=E5=81=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/WebApi.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/WebApi.cpp b/server/WebApi.cpp index 39ecb6b1..cb3ca607 100755 --- a/server/WebApi.cpp +++ b/server/WebApi.cpp @@ -851,7 +851,7 @@ void installWebApi() { return; } auto server = it->second; - server->pauseRtpCheck(); + server->pauseRtpCheck(allArgs["stream_id"]); val["hit"] = 1; }); @@ -866,7 +866,7 @@ void installWebApi() { return; } auto server = it->second; - server->resumeRtpCheck(); + server->resumeRtpCheck(allArgs["stream_id"]); val["hit"] = 1; });