From c3c38c3c6e1b4a502b8a373cc9eb18bc0b00e88f Mon Sep 17 00:00:00 2001 From: cmhu <2657262686@qq.com> Date: Mon, 8 Apr 2024 17:00:40 +0800 Subject: [PATCH] 代码优化 --- src/decoder/gb28181/DvppGB28181Decoder.cpp | 7 +++++-- src/decoder/gb28181/rtp/RTPUdpReceiver.cpp | 9 +++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/decoder/gb28181/DvppGB28181Decoder.cpp b/src/decoder/gb28181/DvppGB28181Decoder.cpp index 26c8c87..1c4de41 100644 --- a/src/decoder/gb28181/DvppGB28181Decoder.cpp +++ b/src/decoder/gb28181/DvppGB28181Decoder.cpp @@ -74,11 +74,12 @@ void DvppGB28181Decoder::close(){ // if (gpu_options) av_dict_free(&gpu_options); - if (m_post_decode_thread != 0) - { + if (m_post_decode_thread != 0) { pthread_join(m_post_decode_thread,0); } + streamDecoder.Close(); + m_status = ECLOSED; LOG_INFO("解码器关闭成功 --{}", m_dec_name); @@ -137,6 +138,8 @@ bool DvppGB28181Decoder::start() { return true; } + close(); + LOG_ERROR("[{}] - rtp receiver open failed !", m_dec_name); return bRet; diff --git a/src/decoder/gb28181/rtp/RTPUdpReceiver.cpp b/src/decoder/gb28181/rtp/RTPUdpReceiver.cpp index 0dabebd..88c4e13 100644 --- a/src/decoder/gb28181/rtp/RTPUdpReceiver.cpp +++ b/src/decoder/gb28181/rtp/RTPUdpReceiver.cpp @@ -123,8 +123,13 @@ bool RTPUdpReceiver::Open(string channel_id) return false; } - RequestStream(); - + bool bReq = RequestStream(); + if (!bReq) { + LOG_INFO("[{}] RequestStream failed !", m_SipChannelId); + Close(); + return false; + } + m_bOpened = true; LOG_INFO("[{}] Open ok", m_SipChannelId); -- libgit2 0.21.4