mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-23 03:10:04 +08:00
优化rtmp相关性能
This commit is contained in:
parent
e7fc22ad53
commit
e240044f2f
@ -139,6 +139,24 @@ public:
|
||||
uint32_t streamId;
|
||||
uint32_t chunkId;
|
||||
std::string strBuf;
|
||||
|
||||
public:
|
||||
RtmpPacket() = default;
|
||||
RtmpPacket(const RtmpPacket &that) = default;
|
||||
RtmpPacket &operator=(const RtmpPacket &that) = default;
|
||||
RtmpPacket &operator=(RtmpPacket &&that) = default;
|
||||
|
||||
RtmpPacket(RtmpPacket &&that){
|
||||
typeId = that.typeId;
|
||||
bodySize = that.bodySize;
|
||||
timeStamp = that.timeStamp;
|
||||
hasAbsStamp = that.hasAbsStamp;
|
||||
hasExtStamp = that.hasExtStamp;
|
||||
deltaStamp = that.deltaStamp;
|
||||
streamId = that.streamId;
|
||||
chunkId = that.chunkId;
|
||||
strBuf = std::move(that.strBuf);
|
||||
}
|
||||
bool isVideoKeyFrame() const {
|
||||
return typeId == MSG_VIDEO && (uint8_t) strBuf[0] >> 4 == FLV_KEY_FRAME
|
||||
&& (uint8_t) strBuf[1] == 1;
|
||||
|
@ -311,7 +311,7 @@ void RtmpPlayer::onRtmpChunk(RtmpPacket &chunkData) {
|
||||
if (_aNowStampTicker[idx].elapsedTime() > 500) {
|
||||
_aiNowStamp[idx] = chunkData.timeStamp;
|
||||
}
|
||||
_onMediaData(std::make_shared<RtmpPacket>(chunkData));
|
||||
_onMediaData(std::make_shared<RtmpPacket>(std::move(chunkData)));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -522,7 +522,7 @@ void RtmpSession::onRtmpChunk(RtmpPacket &chunkData) {
|
||||
if(rtmp_modify_stamp){
|
||||
chunkData.timeStamp = _stampTicker[chunkData.typeId % 2].elapsedTime();
|
||||
}
|
||||
_pPublisherSrc->onWrite(std::make_shared<RtmpPacket>(chunkData));
|
||||
_pPublisherSrc->onWrite(std::make_shared<RtmpPacket>(std::move(chunkData)));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user