mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-30 06:42:22 +08:00
使用临时变量和std::move减少智能指针的拷贝构造
This commit is contained in:
@@ -118,7 +118,7 @@ public:
|
||||
* 输入rtmp包
|
||||
* @param pkt rtmp包
|
||||
*/
|
||||
void onWrite(const RtmpPacket::Ptr &pkt, bool = true) override {
|
||||
void onWrite(RtmpPacket::Ptr pkt, bool = true) override {
|
||||
_speed += pkt->size();
|
||||
//保存当前时间戳
|
||||
switch (pkt->type_id) {
|
||||
@@ -152,7 +152,8 @@ public:
|
||||
regist();
|
||||
}
|
||||
}
|
||||
PacketCache<RtmpPacket>::inputPacket(pkt->type_id == MSG_VIDEO, pkt, pkt->isVideoKeyFrame());
|
||||
bool key = pkt->isVideoKeyFrame();
|
||||
PacketCache<RtmpPacket>::inputPacket(pkt->type_id == MSG_VIDEO, std::move(pkt), key);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -186,9 +187,9 @@ private:
|
||||
* @param rtmp_list rtmp包列表
|
||||
* @param key_pos 是否包含关键帧
|
||||
*/
|
||||
void onFlush(std::shared_ptr<List<RtmpPacket::Ptr> > &rtmp_list, bool key_pos) override {
|
||||
void onFlush(std::shared_ptr<List<RtmpPacket::Ptr> > rtmp_list, bool key_pos) override {
|
||||
//如果不存在视频,那么就没有存在GOP缓存的意义,所以is_key一直为true确保一直清空GOP缓存
|
||||
_ring->write(rtmp_list, _have_video ? key_pos : true);
|
||||
_ring->write(std::move(rtmp_list), _have_video ? key_pos : true);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user