From 30b63ad656ea16e23174ba1f99141112007b38dd Mon Sep 17 00:00:00 2001 From: ziyue <1213642868@qq.com> Date: Tue, 28 Dec 2021 17:12:52 +0800 Subject: [PATCH] =?UTF-8?q?Rtmp:=20rtmp=E5=88=86=E5=8F=91=E6=94=B9?= =?UTF-8?q?=E6=88=90=E7=BB=9D=E5=AF=B9=E6=97=B6=E9=97=B4=E6=88=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Rtmp/RtmpSession.cpp | 16 +--------------- src/Rtmp/RtmpSession.h | 3 +-- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/src/Rtmp/RtmpSession.cpp b/src/Rtmp/RtmpSession.cpp index d857c40c..73a115cb 100644 --- a/src/Rtmp/RtmpSession.cpp +++ b/src/Rtmp/RtmpSession.cpp @@ -248,22 +248,12 @@ void RtmpSession::sendPlayResponse(const string &err,const RtmpMediaSource::Ptr invoke.clear(); invoke << "onMetaData" << metadata; sendResponse(MSG_DATA, invoke.data()); - auto duration = metadata["duration"]; - if(duration && duration.as_number() > 0){ - //这是点播,使用绝对时间戳 - _stamp[0].setPlayBack(); - _stamp[1].setPlayBack(); - } } - src->getConfigFrame([&](const RtmpPacket::Ptr &pkt) { - //DebugP(this)<<"send initial frame"; onSendMedia(pkt); }); - //音频同步于视频 - _stamp[0].syncTo(_stamp[1]); src->pause(false); _ring_reader = src->getRing()->attach(getPoller()); weak_ptr weakSelf = dynamic_pointer_cast(shared_from_this()); @@ -532,13 +522,9 @@ void RtmpSession::onCmd_seek(AMFDecoder &dec) { } void RtmpSession::onSendMedia(const RtmpPacket::Ptr &pkt) { - //rtmp播放器时间戳从零开始 - int64_t dts_out; - _stamp[pkt->type_id % 2].revise(pkt->time_stamp, 0, dts_out, dts_out); - sendRtmp(pkt->type_id, pkt->stream_index, pkt, (uint32_t)dts_out, pkt->chunk_id); + sendRtmp(pkt->type_id, pkt->stream_index, pkt, pkt->time_stamp, pkt->chunk_id); } - bool RtmpSession::close(MediaSource &sender,bool force) { //此回调在其他线程触发 if(!_publisher_src || (!force && _publisher_src->totalReaderCount())){ diff --git a/src/Rtmp/RtmpSession.h b/src/Rtmp/RtmpSession.h index e6e4cd0e..62626546 100644 --- a/src/Rtmp/RtmpSession.h +++ b/src/Rtmp/RtmpSession.h @@ -91,9 +91,8 @@ private: double _recv_req_id = 0; //消耗的总流量 uint64_t _total_bytes = 0; - std::string _tc_url; - //时间戳修整器 + //推流时间戳修整器 Stamp _stamp[2]; //数据接收超时计时器 Ticker _ticker;