addTrack/inputFrame接口支持返回值;新增全局添加静音音频接口

This commit is contained in:
ziyue
2021-09-27 13:12:53 +08:00
parent 1f99708548
commit e9008afca0
63 changed files with 447 additions and 357 deletions

View File

@@ -22,26 +22,25 @@ RtmpMuxer::RtmpMuxer(const TitleMeta::Ptr &title) {
_rtmp_ring = std::make_shared<RtmpRing::RingType>();
}
void RtmpMuxer::addTrack(const Track::Ptr &track) {
bool RtmpMuxer::addTrack(const Track::Ptr &track) {
auto &encoder = _encoder[track->getTrackType()];
//生成rtmp编码器,克隆该Track防止循环引用
encoder = Factory::getRtmpCodecByTrack(track->clone(), true);
if (!encoder) {
return;
return false;
}
//设置rtmp输出环形缓存
encoder->setRtmpRing(_rtmp_ring);
//添加metadata
Metadata::addTrack(_metadata,track);
Metadata::addTrack(_metadata, track);
return true;
}
void RtmpMuxer::inputFrame(const Frame::Ptr &frame) {
bool RtmpMuxer::inputFrame(const Frame::Ptr &frame) {
auto &encoder = _encoder[frame->getTrackType()];
if(encoder){
encoder->inputFrame(frame);
}
return encoder ? encoder->inputFrame(frame) : false;
}
void RtmpMuxer::makeConfigPacket(){