Commit dddc167f by xiongziliang

解决某些设备推流无法播放的问题

parent 5d7ed153
...@@ -94,18 +94,16 @@ public: ...@@ -94,18 +94,16 @@ public:
} }
} }
virtual void onGetMedia(const RtmpPacket::Ptr &pkt) { virtual void onGetMedia(const RtmpPacket::Ptr &pkt) {
if(!m_bRegisted){
lock_guard<recursive_mutex> lock(m_mtxMap); lock_guard<recursive_mutex> lock(m_mtxMap);
if (m_mapCfgFrame.size() != m_iCfgFrameSize && pkt->isCfgFrame()) { if (pkt->isCfgFrame()) {
m_mapCfgFrame.emplace(pkt->typeId, pkt); m_mapCfgFrame.emplace(pkt->typeId, pkt);
if( m_mapCfgFrame.size() == m_iCfgFrameSize && m_bAsyncRegist){ if(m_bAsyncRegist && !m_bRegisted && m_mapCfgFrame.size() == m_iCfgFrameSize){
m_bAsyncRegist = false; m_bAsyncRegist = false;
MediaSource::regist(); MediaSource::regist();
m_bRegisted = true; m_bRegisted = true;
} }
} }
}
m_pRing->write(pkt,pkt->isVideoKeyFrame()); m_pRing->write(pkt,pkt->isVideoKeyFrame());
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论