From dddc167fb0f3f62467aa6e3dfa167fb7e48a7559 Mon Sep 17 00:00:00 2001 From: xiongziliang <771730766@qq.com> Date: Tue, 9 Oct 2018 16:39:35 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=9F=90=E4=BA=9B=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=8E=A8=E6=B5=81=E6=97=A0=E6=B3=95=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Rtmp/RtmpMediaSource.h | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/Rtmp/RtmpMediaSource.h b/src/Rtmp/RtmpMediaSource.h index 437aa33a..181efa1a 100644 --- a/src/Rtmp/RtmpMediaSource.h +++ b/src/Rtmp/RtmpMediaSource.h @@ -94,16 +94,14 @@ public: } } virtual void onGetMedia(const RtmpPacket::Ptr &pkt) { - if(!m_bRegisted){ - lock_guard lock(m_mtxMap); - if (m_mapCfgFrame.size() != m_iCfgFrameSize && pkt->isCfgFrame()) { - m_mapCfgFrame.emplace(pkt->typeId, pkt); + lock_guard lock(m_mtxMap); + if (pkt->isCfgFrame()) { + m_mapCfgFrame.emplace(pkt->typeId, pkt); - if( m_mapCfgFrame.size() == m_iCfgFrameSize && m_bAsyncRegist){ - m_bAsyncRegist = false; - MediaSource::regist(); - m_bRegisted = true; - } + if(m_bAsyncRegist && !m_bRegisted && m_mapCfgFrame.size() == m_iCfgFrameSize){ + m_bAsyncRegist = false; + MediaSource::regist(); + m_bRegisted = true; } }