修复rtmp注册时还未生成完整config包的bug

This commit is contained in:
xiongziliang
2020-01-15 11:46:15 +08:00
parent 444137e5b7
commit 2610ba7c8b
8 changed files with 61 additions and 30 deletions

View File

@@ -80,6 +80,7 @@ public:
typedef std::shared_ptr<RtmpCodec> Ptr;
RtmpCodec(){}
virtual ~RtmpCodec(){}
virtual void makeConfigPacket() {};
};

View File

@@ -58,6 +58,7 @@ public:
}
void onAllTrackReady(){
makeConfigPacket();
_mediaSouce->setMetaData(getMetadata());
}

View File

@@ -78,6 +78,14 @@ void RtmpMuxer::inputFrame(const Frame::Ptr &frame) {
}
}
void RtmpMuxer::makeConfigPacket(){
for(auto &encoder : _encoder){
if(encoder){
encoder->makeConfigPacket();
}
}
}
const AMFValue &RtmpMuxer::getMetadata() const {
return _metadata;
}

View File

@@ -71,6 +71,11 @@ public:
* 重置所有track
*/
void resetTracks() override ;
/**
* 生成config包
*/
void makeConfigPacket();
private:
RtmpRing::RingType::Ptr _rtmpRing;
AMFValue _metadata;