Add Slice method to CopyOnWriteBuffer and use it in FEC code.
This avoids unnecessary memcpy calls. Bug: webrtc:10750 Change-Id: I73fe8f1c9659f2c5e59d7fb97b80349a3504a34a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145320 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29315}
This commit is contained in:
committed by
Commit Bot
parent
85d5c197a8
commit
741bab0f6c
@ -109,10 +109,8 @@ FlexfecReceiver::AddReceivedPacket(const RtpPacketReceived& packet) {
|
||||
// Insert packet payload into erasure code.
|
||||
received_packet->pkt = rtc::scoped_refptr<ForwardErrorCorrection::Packet>(
|
||||
new ForwardErrorCorrection::Packet());
|
||||
// TODO(ilnik): after slice capability is added to COW, use it here instead
|
||||
// of initializing COW buffer with ArrayView.
|
||||
auto payload = packet.payload();
|
||||
received_packet->pkt->data.SetData(payload.data(), payload.size());
|
||||
received_packet->pkt->data =
|
||||
packet.Buffer().Slice(packet.headers_size(), packet.payload_size());
|
||||
} else {
|
||||
// This is a media packet, or a FlexFEC packet belonging to some
|
||||
// other FlexFEC stream.
|
||||
|
||||
Reference in New Issue
Block a user