diff --git a/src/MediaFile/MP4Muxer.cpp b/src/MediaFile/MP4Muxer.cpp index 92b0135c..a8a38ab4 100644 --- a/src/MediaFile/MP4Muxer.cpp +++ b/src/MediaFile/MP4Muxer.cpp @@ -135,9 +135,7 @@ void MP4Muxer::onTrackReady(const Track::Ptr &track) { WarnL << "添加AAC Track失败:" << track_id; return; } - track_info info; - info.track_id = track_id; - _codec_to_trackid[track->getCodecId()] = info; + _codec_to_trackid[track->getCodecId()].track_id = track_id; } break; case CodecH264: { @@ -170,9 +168,7 @@ void MP4Muxer::onTrackReady(const Track::Ptr &track) { WarnL << "添加H264 Track失败:" << track_id; return; } - track_info info; - info.track_id = track_id; - _codec_to_trackid[track->getCodecId()] = info; + _codec_to_trackid[track->getCodecId()].track_id = track_id; } break; case CodecH265: { @@ -205,9 +201,7 @@ void MP4Muxer::onTrackReady(const Track::Ptr &track) { WarnL << "添加H265 Track失败:" << track_id; return; } - track_info info; - info.track_id = track_id; - _codec_to_trackid[track->getCodecId()] = info; + _codec_to_trackid[track->getCodecId()].track_id = track_id; } break; default: diff --git a/src/MediaFile/Stamp.cpp b/src/MediaFile/Stamp.cpp index 02941be2..57045733 100644 --- a/src/MediaFile/Stamp.cpp +++ b/src/MediaFile/Stamp.cpp @@ -40,11 +40,11 @@ void Stamp::revise(uint32_t dts, uint32_t pts, int64_t &dts_out, int64_t &pts_ou //记录第一次时间戳,后面好计算时间戳增量 _start_dts = dts; _first = false; - _ticker = std::make_shared(); + _ticker.resetTime(); } if (!dts) { //没有解码时间戳,我们生成解码时间戳 - dts = _ticker->elapsedTime(); + dts = _ticker.elapsedTime(); } //相对时间戳 diff --git a/src/MediaFile/Stamp.h b/src/MediaFile/Stamp.h index 3eed2a1d..4e6241b1 100644 --- a/src/MediaFile/Stamp.h +++ b/src/MediaFile/Stamp.h @@ -44,7 +44,7 @@ private: int64_t _start_dts = 0; int64_t _dts_inc = 0; bool _first = true; - std::shared_ptr _ticker; + SmoothTicker _ticker; }; }//namespace mediakit diff --git a/src/MediaFile/TsMuxer.cpp b/src/MediaFile/TsMuxer.cpp index 6bd4840e..0aa841cf 100644 --- a/src/MediaFile/TsMuxer.cpp +++ b/src/MediaFile/TsMuxer.cpp @@ -42,19 +42,13 @@ TsMuxer::~TsMuxer() { void TsMuxer::addTrack(const Track::Ptr &track) { switch (track->getCodecId()){ case CodecH264: { - track_info info; - info.track_id = mpeg_ts_add_stream(_context, PSI_STREAM_H264, nullptr, 0); - _codec_to_trackid[track->getCodecId()] = info; + _codec_to_trackid[track->getCodecId()].track_id = mpeg_ts_add_stream(_context, PSI_STREAM_H264, nullptr, 0); } break; case CodecH265: { - track_info info; - info.track_id = mpeg_ts_add_stream(_context, PSI_STREAM_H265, nullptr, 0); - _codec_to_trackid[track->getCodecId()] = info; + _codec_to_trackid[track->getCodecId()].track_id = mpeg_ts_add_stream(_context, PSI_STREAM_H265, nullptr, 0); }break; case CodecAAC: { - track_info info; - info.track_id = mpeg_ts_add_stream(_context, PSI_STREAM_AAC, nullptr, 0); - _codec_to_trackid[track->getCodecId()] = info; + _codec_to_trackid[track->getCodecId()].track_id = mpeg_ts_add_stream(_context, PSI_STREAM_AAC, nullptr, 0); }break; default: break; diff --git a/src/MediaFile/TsMuxer.h b/src/MediaFile/TsMuxer.h index 476a56ae..406111dd 100644 --- a/src/MediaFile/TsMuxer.h +++ b/src/MediaFile/TsMuxer.h @@ -38,7 +38,7 @@ using namespace toolkit; namespace mediakit { -class TsMuxer { +class TsMuxer : public MediaSink { public: TsMuxer(); virtual ~TsMuxer();