Store PacketBuffer by value instead of as reference counted object
Bug: None Change-Id: I5a594972e8a8dad731c927a1a374301e549f5d71 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153887 Reviewed-by: Philip Eliasson <philipel@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Reviewed-by: Sam Zackrisson <saza@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29267}
This commit is contained in:

committed by
Commit Bot

parent
3c5f91b748
commit
f7457e55fe
@ -49,7 +49,6 @@ class TestRtpFrameReferenceFinder : public ::testing::Test,
|
||||
protected:
|
||||
TestRtpFrameReferenceFinder()
|
||||
: rand_(0x8739211),
|
||||
ref_packet_buffer_(new FakePacketBuffer()),
|
||||
reference_finder_(new RtpFrameReferenceFinder(this)),
|
||||
frames_from_callback_(FrameComp()) {}
|
||||
|
||||
@ -78,15 +77,15 @@ class TestRtpFrameReferenceFinder : public ::testing::Test,
|
||||
packet.video_header.frame_type = keyframe
|
||||
? VideoFrameType::kVideoFrameKey
|
||||
: VideoFrameType::kVideoFrameDelta;
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
|
||||
packet.seqNum = seq_num_end;
|
||||
packet.video_header.is_last_packet_in_frame = true;
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
|
||||
std::unique_ptr<RtpFrameObject> frame(
|
||||
new RtpFrameObject(ref_packet_buffer_, seq_num_start, seq_num_end, 0, 0,
|
||||
0, {}, EncodedImageBuffer::Create(/*size=*/0)));
|
||||
auto frame = std::make_unique<RtpFrameObject>(
|
||||
&packet_buffer_, seq_num_start, seq_num_end, 0, 0, 0, RtpPacketInfos(),
|
||||
EncodedImageBuffer::Create(/*size=*/0));
|
||||
reference_finder_->ManageFrame(std::move(frame));
|
||||
}
|
||||
|
||||
@ -111,17 +110,17 @@ class TestRtpFrameReferenceFinder : public ::testing::Test,
|
||||
vp8_header.temporalIdx = tid;
|
||||
vp8_header.tl0PicIdx = tl0;
|
||||
vp8_header.layerSync = sync;
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
|
||||
if (seq_num_start != seq_num_end) {
|
||||
packet.seqNum = seq_num_end;
|
||||
packet.video_header.is_last_packet_in_frame = true;
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
}
|
||||
|
||||
std::unique_ptr<RtpFrameObject> frame(
|
||||
new RtpFrameObject(ref_packet_buffer_, seq_num_start, seq_num_end, 0, 0,
|
||||
0, {}, EncodedImageBuffer::Create(/*size=*/0)));
|
||||
auto frame = std::make_unique<RtpFrameObject>(
|
||||
&packet_buffer_, seq_num_start, seq_num_end, 0, 0, 0, RtpPacketInfos(),
|
||||
EncodedImageBuffer::Create(/*size=*/0));
|
||||
reference_finder_->ManageFrame(std::move(frame));
|
||||
}
|
||||
|
||||
@ -157,18 +156,18 @@ class TestRtpFrameReferenceFinder : public ::testing::Test,
|
||||
vp9_header.ss_data_available = true;
|
||||
vp9_header.gof = *ss;
|
||||
}
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
|
||||
if (seq_num_start != seq_num_end) {
|
||||
packet.video_header.is_last_packet_in_frame = true;
|
||||
vp9_header.ss_data_available = false;
|
||||
packet.seqNum = seq_num_end;
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
}
|
||||
|
||||
std::unique_ptr<RtpFrameObject> frame(
|
||||
new RtpFrameObject(ref_packet_buffer_, seq_num_start, seq_num_end, 0, 0,
|
||||
0, {}, EncodedImageBuffer::Create(/*size=*/0)));
|
||||
auto frame = std::make_unique<RtpFrameObject>(
|
||||
&packet_buffer_, seq_num_start, seq_num_end, 0, 0, 0, RtpPacketInfos(),
|
||||
EncodedImageBuffer::Create(/*size=*/0));
|
||||
reference_finder_->ManageFrame(std::move(frame));
|
||||
}
|
||||
|
||||
@ -200,17 +199,17 @@ class TestRtpFrameReferenceFinder : public ::testing::Test,
|
||||
vp9_header.num_ref_pics = refs.size();
|
||||
for (size_t i = 0; i < refs.size(); ++i)
|
||||
vp9_header.pid_diff[i] = refs[i];
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
|
||||
if (seq_num_start != seq_num_end) {
|
||||
packet.seqNum = seq_num_end;
|
||||
packet.video_header.is_last_packet_in_frame = true;
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
}
|
||||
|
||||
std::unique_ptr<RtpFrameObject> frame(
|
||||
new RtpFrameObject(ref_packet_buffer_, seq_num_start, seq_num_end, 0, 0,
|
||||
0, {}, EncodedImageBuffer::Create(/*size=*/0)));
|
||||
auto frame = std::make_unique<RtpFrameObject>(
|
||||
&packet_buffer_, seq_num_start, seq_num_end, 0, 0, 0, RtpPacketInfos(),
|
||||
EncodedImageBuffer::Create(/*size=*/0));
|
||||
reference_finder_->ManageFrame(std::move(frame));
|
||||
}
|
||||
|
||||
@ -231,17 +230,17 @@ class TestRtpFrameReferenceFinder : public ::testing::Test,
|
||||
packet.video_header.frame_marking.temporal_id = tid;
|
||||
packet.video_header.frame_marking.tl0_pic_idx = tl0;
|
||||
packet.video_header.frame_marking.base_layer_sync = sync;
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
|
||||
if (seq_num_start != seq_num_end) {
|
||||
packet.seqNum = seq_num_end;
|
||||
packet.video_header.is_last_packet_in_frame = true;
|
||||
ref_packet_buffer_->InsertPacket(&packet);
|
||||
packet_buffer_.InsertPacket(&packet);
|
||||
}
|
||||
|
||||
std::unique_ptr<RtpFrameObject> frame(
|
||||
new RtpFrameObject(ref_packet_buffer_, seq_num_start, seq_num_end, 0, 0,
|
||||
0, {}, EncodedImageBuffer::Create(/*size=*/0)));
|
||||
auto frame = std::make_unique<RtpFrameObject>(
|
||||
&packet_buffer_, seq_num_start, seq_num_end, 0, 0, 0, RtpPacketInfos(),
|
||||
EncodedImageBuffer::Create(/*size=*/0));
|
||||
reference_finder_->ManageFrame(std::move(frame));
|
||||
}
|
||||
|
||||
@ -299,7 +298,7 @@ class TestRtpFrameReferenceFinder : public ::testing::Test,
|
||||
void RefsToSet(std::set<int64_t>* m) const {}
|
||||
|
||||
Random rand_;
|
||||
rtc::scoped_refptr<FakePacketBuffer> ref_packet_buffer_;
|
||||
FakePacketBuffer packet_buffer_;
|
||||
std::unique_ptr<RtpFrameReferenceFinder> reference_finder_;
|
||||
struct FrameComp {
|
||||
bool operator()(const std::pair<int64_t, uint8_t> f1,
|
||||
|
Reference in New Issue
Block a user