From f5e8bae7602080b677f876d47ad4e272b00dca84 Mon Sep 17 00:00:00 2001 From: sunhui Date: Wed, 10 Mar 2021 23:17:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=B8=8D=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E6=B5=81=E6=88=96=E8=80=85TCP=E6=9A=82=E5=81=9C=E6=96=AD?= =?UTF-8?q?=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;