Commit a01d083f by xiongziliang

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

parent 91a76624
......@@ -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;
};
......
......@@ -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()){
......
......@@ -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()){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论