修复写两次Track的bug

This commit is contained in:
xiongziliang
2018-10-26 22:07:01 +08:00
parent c03ea1d893
commit affc98f927
3 changed files with 7 additions and 5 deletions

View File

@@ -49,8 +49,9 @@ public:
* @param track 媒体描述
*/
void addTrack(const Track::Ptr & track) {
_rtmp->addTrack(track);
_rtsp->addTrack(track);
//克隆track的目的是防止inputFrame时由于用的同一个track而导致写入两次数据
_rtmp->addTrack(track->clone());
_rtsp->addTrack(track->clone());
}
/**
@@ -58,6 +59,7 @@ public:
* @param frame 帧数据
*/
void inputFrame(const Frame::Ptr &frame) override {
//_rtmp和_rtsp对象不能使用相同的Track否则会触发两次inputFrame操作
_rtmp->inputFrame(frame);
_rtsp->inputFrame(frame);
}