节省内存、修复MediaSource不注册的bug

This commit is contained in:
xiongziliang 2018-10-26 17:46:31 +08:00
parent 91a766243b
commit a01d083f15
3 changed files with 5 additions and 7 deletions

View File

@ -39,8 +39,8 @@ namespace mediakit{
typedef enum {
CodecInvalid = -1,
CodecH264 = 0,
CodecAAC = 0x0100,
CodecMax
CodecAAC,
CodecMax = 0x7FFF
} CodecId;
typedef enum {
@ -48,7 +48,7 @@ typedef enum {
TrackVideo = 0,
TrackAudio,
TrackTitle,
TrackMax
TrackMax = 0x7FFF
} TrackType;
class CodecInfo {
@ -148,7 +148,6 @@ public:
typedef std::shared_ptr<FrameRing> Ptr;
FrameRing(){
_frameRing = std::make_shared<RingType>();
}
virtual ~FrameRing(){}
@ -212,7 +211,6 @@ public:
private:
mutex _mtx;
map<void *,FrameRingWriterInterface::Ptr> _delegateMap;
FrameRing::Ptr _frameRing;
};

View File

@ -89,7 +89,7 @@ void RtmpMuxer::inputFrame(const Frame::Ptr &frame) {
return;
}
it->second->inputFrame(frame);
if(!_trackReadyCallback.empty() && it->second->ready()){
if(!_inited && !_trackReadyCallback.empty() && it->second->ready()){
//Track由未就绪状态装换成就绪状态我们就生成metedata以及Rtmp编码器
auto it_callback = _trackReadyCallback.find(codec_id);
if(it_callback != _trackReadyCallback.end()){

View File

@ -78,7 +78,7 @@ void RtspMuxer::inputFrame(const Frame::Ptr &frame) {
return;
}
it->second->inputFrame(frame);
if(!_trackReadyCallback.empty() && it->second->ready()){
if(!_inited && !_trackReadyCallback.empty() && it->second->ready()){
//Track由未就绪状态装换成就绪状态我们就生成sdp以及rtp编码器
auto it_callback = _trackReadyCallback.find(codec_id);
if(it_callback != _trackReadyCallback.end()){