diff --git a/src/Rtmp/RtmpMediaSource.h b/src/Rtmp/RtmpMediaSource.h index 0e0c7091..5718c94f 100644 --- a/src/Rtmp/RtmpMediaSource.h +++ b/src/Rtmp/RtmpMediaSource.h @@ -107,6 +107,14 @@ public: } } + /** + * 更新metadata + */ + void updateMetaData(const AMFValue &metadata) { + lock_guard lock(_mtx); + _metadata = metadata; + } + /** * 输入rtmp包 * @param pkt rtmp包 diff --git a/src/Rtmp/RtmpMediaSourceImp.h b/src/Rtmp/RtmpMediaSourceImp.h index 4e8aae87..d2a1267a 100644 --- a/src/Rtmp/RtmpMediaSourceImp.h +++ b/src/Rtmp/RtmpMediaSourceImp.h @@ -53,9 +53,8 @@ public: //该metadata无效,需要重新生成 _metadata = metadata; _recreate_metadata = true; - }else{ - RtmpMediaSource::setMetaData(metadata); } + RtmpMediaSource::setMetaData(metadata); } /** @@ -158,8 +157,8 @@ public: _all_track_ready = true; if(_recreate_metadata){ - //需要重新生成metadata - RtmpMediaSource::setMetaData(_metadata); + //更新metadata + RtmpMediaSource::updateMetaData(_metadata); } }