Commit f5e8bae7 by sunhui

解决不指定流或者TCP暂停断流问题

parent c0f48999
...@@ -160,15 +160,30 @@ uint16_t RtpServer::getPort() { ...@@ -160,15 +160,30 @@ uint16_t RtpServer::getPort() {
return _udp_server ? _udp_server->get_local_port() : 0; return _udp_server ? _udp_server->get_local_port() : 0;
} }
void RtpServer::pauseRtpCheck(){ void RtpServer::pauseRtpCheck(const string &stream_id){
if(_rtp_process) if(_rtp_process)
_rtp_process->setStopCheckRtp(true); _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) if(_rtp_process)
_rtp_process->setStopCheckRtp(false); _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 }//namespace mediakit
......
...@@ -60,12 +60,12 @@ public: ...@@ -60,12 +60,12 @@ public:
/** /**
* 暂停Rtp服务的RTP流检测 * 暂停Rtp服务的RTP流检测
*/ */
void pauseRtpCheck(); void pauseRtpCheck(const string &stream_id = "");
/** /**
* 恢复Rtp服务的RTP流检测 * 恢复Rtp服务的RTP流检测
*/ */
void resumeRtpCheck(); void resumeRtpCheck(const string &stream_id = "");
protected: protected:
Socket::Ptr _udp_server; Socket::Ptr _udp_server;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论